Python 我们可以使用file.write从csv文件中提取行并写入它们吗
打开csv文件并将其读取为Python 我们可以使用file.write从csv文件中提取行并写入它们吗,python,Python,打开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] 这很简单,但不知道为什么它不会出现。
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,每行末尾都有。我想有些dos到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#
'row[17]'
和row[17]
在Python中是不同的。前者是一个包含七个字符的字符串,后者是行
元组中的第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))
DM.write(“,”.join(itemgetter(17,16,25,18,20,21,19,26,27,28,29,30,31,32,8,36,35,34)(行)))类型错误:itemgetter需要1个参数,得到18个
itemgetter()
必须同时接受和上的多个参数。并包括完整的回溯。请尝试中的代码。@JF我使用的是python 2。解决方案不起作用,抛出了相同的错误。另外,对于问题的第二部分,我没有逗号问题,我在每一行的末尾都有^M作为文本中的o/pfile@Rajarshi: 0. 我没有看到我所要求的问题的回溯(许多行包含TypeError
)。1.你试过了吗?它会产生错误吗?2.我的代码使用了'\n'
(注意:lineterminator='\n'
)。这是我唯一的错误。我不知道为什么会出现控件m。