Я новичок здесь, в StackOverflow, так что, если вы допустили какие-либо формальные ошибки в этом сообщении, поправьте меня, пожалуйста, будем благодарны!
Однако вернемся к основной теме: у меня есть некоторые проблемы с заголовками, когда я разбиваю большой CSV-файл на более мелкие. Общая идея состоит в том, чтобы разделить указанный файл по столбцу 1 и создать файлы меньшего размера с именами столбцов, например:
Fruit Country Color
apple Poland red
banana Argentina yellow
pineapple Argentina brown
pear Poland green
melon Turkey yellow
plum Poland violet
peach Turkey orange
grenade Argentina violet
Код должен генерировать 3 разных файла (Poland.csv, Turkey.csv, Argentina.csv)
Пока что я создал приведенный ниже код, который правильно разделяет CSV, но не может правильно добавлять заголовки (они добавляются через каждую итерацию). У вас есть идеи, как с этим справиться?
import csv
opener = open('file.csv', 'r', encoding='utf-8')
csvreader = csv.reader(opener, delimiter=';')
header = next(csvreader)
def splitter(u):
for row in u:
with open(row[1] + '.csv', 'a', encoding='utf-8', newline='') as myfile:
writer = csv.writer(myfile, delimiter=';', quotechar='|', quoting=csv.QUOTE_MINIMAL)
writer.writerow(header)
writer.writerow(row)
myfile.close()
splitter(csvreader)