0

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

4

0 に答える 0