我有一个制表符分隔的文本文件,我只想选择以特定字符串开头的行。然后,我想把这些行转换为CSV文件。我能够做到这一点,但是在excel csv中,文本文件中的每一行在csv中的行中均被拆分为3个单元格,并且在每个单元格中仍然有选项卡。此外,它跳过每隔一行。
我尝试用逗号替换制表符,但是没有用。
BOOST_PP_SEQ_FOR_EACH
答案 0 :(得分:2)
python中的csv模块可处理制表符分隔的文件以及逗号分隔的值。我认为您想做这样的事情:
import csv
with open(input_file,newline='') as csvfile, open(output_file, 'w+', newline='') as output:
reader = csv.reader(csvfile,delimiter='\t',quotechar='"')
writer = csv.writer(output, delimited=',',quotechar='"')
for row in reader:
if len(row) != 0 and row[0].startswith('APT'):
writer.writerow(row)
(我尚未测试此代码,您可能会在其中找到错别字;但是CSV模块非常适合使用。我建议直接以CSV格式读取文件,然后使用具有所需设置的CSV模块把它写出来。)