Записать ключ и значения в CSV-файл, используя для цикла - Python

Я новичок в Python, пожалуйста, помогите мне решить эту проблему.

Мой код выглядит так:

if div == 0 or div == 1 or div == 2:
     print (' A ', 'sometext')

elif div == 5 or div == 6:
     print (' B ', 'some')

elif div == 3 or div == 4:
     print (' C ', 'text')

Я хочу вставить данные в CSV вместо печати

как это:

A,B,C
sometext,some,text
xhbasj,bjascn,bashc
bhhashc,bashjc,bcsahbch
cvashcj,bcashc,bcasc

здесь A, B, C будут как ключи.

Я пробовал много вариантов, но ни один из них не работает, пожалуйста, помогите мне решить эту проблему

Я пробовал это

with open('trashData.csv', 'w', newline='') as fp:
    a = csv.writer(fp, delimiter=',')
    if div == 0 or div == 1 or div == 2:
       data = [['A'],['sometext']]
       a.writerows(data)

2 ответа

Этот код работал для меня, называется: Python: Запись словаря в CSV-файл с одной строкой для каждого "ключ: значение"

import csv

dictionary = {'A':'Text', 'B':'Sometext'}

f = open('dictionary.csv', 'w+')
writer = csv.writer(f)
for k,v in dictionary.items():
    writer.writerow([k,v])

Откройте файл для записи и получите csv writer:

import csv
with open('my_file.csv', mode='w') as f:
    csv_writer = csv.writer(f, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

Затем напишите вам верхние ключи:

csv_writer.writerow(['A', 'B', 'C'])

Тогда сделай свой цикл

for ...

И там написать вам код:

if div == 0 or div == 1 or div == 2:
      csv_writer.writerow(['sometext', 'some', 'text']
...

пример:

import csv

with open('my_file.csv', mode='w') as f:
    csv_writer = csv.writer(f, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    csv_writer.writerow(['A', 'B', 'C'])
    for i in range(10):
        csv_writer.writerow(['i', i, 10-i])

Напишем следующий файл:

A,B,C
i,0,10
i,1,9
i,2,8
i,3,7
i,4,6
i,5,5
i,6,4
i,7,3
i,8,2
i,9,1
Другие вопросы по тегам