我有很多CSV文件,其中包含不同的列名但数据相似,例如:
account name address
1 2 3
4 5 6
lookup accountname accountaddress
7 8 9
10 11 12
其中account
和lookup
是相同的字段,name
和accountname
是相同的,依此类推。有没有一种方法可以将所有这些规范化或分类为一个公共列名?我无法将其映射到哈希表中,因为列名从不相似,每次创建一个新文件时,列名都不同,并且它们在表中出现的顺序也不同。
答案 0 :(得分:0)
您可以尝试以下操作:
row_list = []
with open(file_path) as f:
cf = csv.DictReader(f, delimiter=<field separator>, fieldnames=[<columnslist>])
for row in cf:
tmp_row = collections.OrderedDict()
for column in cf.fieldnames:
tmp_row[column] = row[column]
row_list.append(tmp_row)
return row_list
然后使用dictwriter将对象row_list
转储到csv文件中。