如何筛选制表符分隔的文本文件,该文件选择以某些字符串开头并转换为CSV的行

时间:2019-08-07 19:27:15

标签: python

我有一个制表符分隔的文本文件,我只想选择以特定字符串开头的行。然后,我想把这些行转换为CSV文件。我能够做到这一点,但是在excel csv中,文本文件中的每一行在csv中的行中均被拆分为3个单元格,并且在每个单元格中仍然有选项卡。此外,它跳过每隔一行。

我尝试用逗号替换制表符,但是没有用。

BOOST_PP_SEQ_FOR_EACH

1 个答案:

答案 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模块把它写出来。)