2017-11-11 718 views
-1

我正在嘗試從我的csv文件中的特定列中刪除特殊字符。但我無法找出一種方法來指定我想改變的列。以下是我有:使用Python修改csv文件中的字段

import csv  

input_file = open('src/list.csv', 'r') 
output_file = open('src/list_new.csv', 'w') 
data = csv.reader(input_file) 
writer = csv.writer(output_file, quoting=csv.QUOTE_ALL) # dialect='excel') 
specials = '#' 

for line in data: 
    line = str(line) 
    new_line = str.replace(line, specials, '') 
    writer.writerow(new_line.split(',')) 

input_file.close() 
output_file.close() 

在整個文件中搜索我怎麼可以指定列相反的(「名稱」),我想從去除特殊字符?

+0

爲了更改整個文件,您必須讀取整個文件(然後寫入)整個文件。你不應該做的是將分析過的行轉換爲一個完全違背使用csv分析器的目的的字符串。如果您使用dictreader,則可以通過返回的已分析元組中的索引來引用列。 – pvg

回答

-1

也許使用csv.DictReader?然後,您可以按名稱查看該列。