ほぼ 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()
メソッドはファイルの最初の列の最後にすべてを追加しています。