Не записываются заголовки в csv файл
Сейчас заголовок записывается только в последний csv файл noncontr_lv.csv
Как сделать чтобы заголовки записывались во все файлы ?
мой код :
import ast
import csv
def contract_lv(list_d, write_header):
with open('contract_lv.csv', 'a+', encoding='utf-8', newline='') as file_lv:
writer = csv.writer(file_lv, delimiter=";")
if write_header:
writer.writerow(['Customer ID'])
print(final_date['CustomerId'], file=file_lv, sep=';')
def post_lv(final_date, write_header):
with open('post_lv.csv', 'a+', encoding='utf-8',newline='') as file_post_lv:
writer = csv.writer(file_post_lv, delimiter=";")
if write_header:
writer.writerow(['CardNumber'])
print(final_date['CardId'], file=file_post_lv, sep=';')
def noncontract_lv(final_date, write_header):
with open('noncontr_lv.csv', 'a+', encoding='utf-8',newline='') as file_noncontr_lv:
writer = csv.writer(file_noncontr_lv, delimiter=";")
if write_header:
writer.writerow(['Agreement Nr'])
print(final_date['AgreementID'], file=file_noncontr_lv, sep=';')
with open('2222222.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
write_header = True
for line in lines:
final_date = ast.literal_eval(line)
if final_date["ContractType"] == "Yes":
contract_lv(final_date, write_header)
write_header = False
elif final_date["ContractType"] == "Yes":
post_lv(final_date, write_header)
write_header = False
elif final_date["ContractType"] == "None":
noncontract_lv(final_date, write_header)
write_header = False
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
import csv
headers = ['Name', 'Birthday', 'Height']
data = [
['Илья', '1999-12-02', '195'],
['Alex', '2000-05-11', '188']
]
# Если в данных есть кирилица и вы их потом собираетесь открывать в Excel
# То лучше используйте кодировку utf-8-sig и unix_dialect
with open('my.csv', 'w', encoding='utf-8-sig', newline='') as file:
writer = csv.writer(file, dialect=csv.unix_dialect)
writer.writerow(headers)
writer.writerows(data)
"Name","Birthday","Height"
"Илья","1999-12-02","195"
"Alex","2000-05-11","188"
Но если по честному, посмотрите на pandas, вы очень просто раскидаете по условиям по DataFrame и каждый из них сохраните хоть в excel хоть в csv хоть в json