我有一堆具有相同列但顺序不同的csv文件。我们正在尝试使用SQL * Plus上载它们,但是我们需要具有固定列排列的列。
例
所需订单:ABCDEF
csv文件:ACDEB(有时列不在csv中,因为它不可用)
用python可以实现吗?我们正在使用Access + Macros来做…但这太浪费时间了
PS。对不起,如果有人对我的英语能力感到沮丧。
您可以使用csv模块读取,重新排序,然后写入文件。
样本文件:
$ cat file.csv A,B,C,D,E a1,b1,c1,d1,e1 a2,b2,c2,d2,e2
码
import csv with open('file.csv', 'r') as infile, open('reordered.csv', 'a') as outfile: # output dict needs a list for new column ordering fieldnames = ['A', 'C', 'D', 'E', 'B'] writer = csv.DictWriter(outfile, fieldnames=fieldnames) # reorder the header first writer.writeheader() for row in csv.DictReader(infile): # writes the reordered rows to the new file writer.writerow(row)
输出
$ cat reordered.csv A,C,D,E,B a1,c1,d1,e1,b1 a2,c2,d2,e2,b2