У меня есть несколько файлов CSV в папке. Мне нужно прочитать заголовок столбца и первые 2 строки каждого файла и записать вывод в CSV-файл в формате строк в столбцы.
Пример — имя файла: Test1.csv
ID ProductName
1 ABC
2 AA
3 CC
10 Q
11 s
Имя файла: Test2.csv
Code Description
A AAAA
B BBBB
C CCCC
D DDDD
Требуемый формат выходного файла — Outputfile.csv
FileName Column Row1 Row2
Test1.csv Id 1 2
Test1.csv ProductName ABC AA
Test2.csv Code A B
Test2.csv Description AAAA BBBB
Код:
with open(full_file_path,'r') as f_input:
try:
columninfo = f_input.readline()
row_1 = next(f_input)
row_2 = next(f_input)
filedata = columninfo +';'+ row_1 +';'+ row_2
output = file +';'+ moddate +';'+ str(file_size) +';'+ file_delim +';'+ filedata
outputfinal = full_file_path +';'+ output + '\n'
ofile.write(outputfinal)
f_input.close()
except:
pass
csv.sniffer
сделает это. В качестве альтернативы вы можете попробовать прочитать заголовок из каждого файла, используя список различных разделителей, и решить, какой из них дает вам больше всего записей. 11.01.2017csv
. Он берет список и автоматически добавляет необходимые разделители между каждой записью для вас. Без него вы должны самостоятельно разделить каждую из своих строк, используя разделитель при чтении. Без csv ваш код становится очень плохого качества. 17.01.2017