【发布时间】:2018-12-26 01:58:51
【问题描述】:
我的 python 脚本目前使用 DictWriter 读取 csv 文件,重新排列列并写入新的输出 csv 文件。输入 CSV 文件具有以下列:
A;B;C;D
将转移到:
B,C;A;D
另外,我想重命名一个标题。我已经尝试了两种方法:
1.) 创建一个新的writer 对象并使用`writer' 方法。但是,这只是将所有给定的字段名放在第一列中:
newHeader = csv.writer(outfile)
newFN = ['B', 'C', 'Renamed', 'D']
newHeader.writerow(newFN)
输出是:
B,C,Renamed,D;;;
2.) 使用现有的DictWriter 对象,我定义了一个新的列标题列表并对其进行迭代:
newHeader = ['B', 'C', 'Renamed', 'D']
writer.writerow(dict((fn, fn) for fn in newHeader))
但这一次,重命名的列标题在输出 CSV 中保持为空。
【问题讨论】:
标签: python python-3.x csv dictionary ordereddictionary