У меня есть более 200 файлов, которые я хочу разделить на значение столбца clName и сохранить заголовок во всех files.I также хотят, чтобы сохранить эти файлы с OriginalFileName-clName.txtРазделить файл CSV по значению столбца
ID Plate Well ctr clID clName
21 5 C03 1 50012 COL
21 5 C03 1 50012 COL
21 5 C03 1 50012 COL
21 5 C04 1 50012 IA
21 5 C04 1 50012 IA
21 5 C05 1 50012 ABC
import csv
from itertools import groupby
for key, rows in groupby(csv.reader(open("file.csv")),
lambda row: row[7]):
with open("%s.txt" % key, "w") as output:
for row in rows:
output.write(",".join(row) + "\n")
Проблема, которую я имею, это столбец не всегда будет называться clName, его можно назвать clName, cll_n, c_Name. И иногда это будет столбец 7, иначе столбец 5 или 9.
То, что я знаю, разделяет файл по значению столбца, но не сохраняет заголовок, и я должен проверять каждый файл, чтобы найти его столбец 5 , 7, 9 и т. Д.
Есть ли способ проверить имена столбцов в списке имен и когда найдено одно из имен, разделите файл на это значение столбца?
пример данных https://drive.google.com/file/d/0Bzv1SNKM1p4uell3UVlQb0U3ZGM/view?usp=sharing
Спасибо
Вы хотите сказать, что хотите добавить последний заголовок столбца в конец файла? Как бы вы определили, правильное ли имя указано в столбцах 5, 7 или 9? –
Нет. Просто держите заголовок в каждом файле. И сохраните файл со значением столбца и исходным именем файла, например, originalfile-COL.txt –