打开csv文件并将其读作
reader = csv.reader(f, delimiter='|', quotechar='"')
我也打开了文件
DM = open('DM_FILE.txt', 'w+')
现在我想从csv文件中提取特定字段并保存在txt文件中。所以我使用了这个
DM.write('row[17]+,+row[16]+,+row[25]\n')
但我得到这样的输出。
row[17]+,+row[16]+,+row[25]+,+row[18]
它很简单,但不知道为什么它不会来。我尝试使用csv.writerow工作。但输出来了contrlM.like ^ M每行结束。有些问题unix问题我猜我自己跑了它在unix中。需要两个解决方案。
DM = csv.writer(open('DM_FILE.txt', 'w+'))
DM.writerow([row[17]+row[16]+row[25]+row[18]])
同样期望的输出就像
,J,13260,,GARMAN,,STEVE,FAIRFIELDLN,
,J,1,,CMA1235,,,LOCKHEED###BLVD,MZ#
答案 0 :(得分:0)
'row[17]'
和row[17]
在Python中有所不同。前者是一个包含七个字符的字符串,后者是row
元组中的第18个字符。
将逗号分隔的给定字段(由其索引指定)写入DM
文件:
from operator import itemgetter
DM.write(','.join(itemgetter(17, 16, 25, 18)(row)))
DM.write('\n')
或者如果逗号可能在任何字段中,那么您可以使用csv
模块来逃避它:
with open('TM_FILE.txt', 'wb') as DM: # assume Python 2
writer = csv.writer(DM, lineterminator='\n')
writer.writerow(itemgetter(17, 16, 25, 18)(row))