我有一个包含近10,000行的CSV文件。我已将完整数据保存在默认字典
中import csv
from collections import defaultdict
columns = defaultdict(list)
testfile = open('test.txt' , 'a+')
with open('test.csv') as f:
reader = csv.DictReader(f)
for row in reader:
for (k,v) in row.items():
columns[k].append(v)
print >> testfile ,"\n".join(columns['A'])
print >> testfile ,"\n".join(columns['B'])
现在我正在根据一些比较修改列['A']和列['B']。
indices = [i for i, x in enumerate(columns['A']) if x == "tsest user"]
print indices
for val in indices:
p_val = (columns['D'])[val]
user = mapping(p_val )
print user
(columns['A'])[val] = user
这为我提供了修改后的column['A']
。
现在我想将此修改后的列写入相同的CSV。但writerow()
方法是将所有内容添加到文件第一列的末尾。