Python:尝试将行从一个csv文件提取并输出到另一个csv文件

时间:2019-01-23 16:54:11

标签: python csv output

按照标题,我正在尝试编写python脚本来读取csv文件,对其进行过滤以查看我需要的文件,然后将过滤后的行输出到单独的csv文件中。

到目前为止,我可以使用以下命令读取csv文件:

open('list.csv') as f
csv_f = csv.reader(f)

,我将三行存储在一个元组中,并使用它与另一个列表进行比较,以查看是否存在匹配项。如果匹配,我希望包含元组的行输出到新的csv文件。

我已经成功地能够读取文件,将元组与另一个列表进行匹配,并输出已作为文本进行匹配的输出。问题是我不知道如何将匹配元组的行输出到新的csv文件中。

我当时正在考虑为每个元组分配一个行号,但是行号也没有任何作用。

我想知道有效输出所需行的最佳方法

2 个答案:

答案 0 :(得分:0)

打开两个文件。遍历读取的文件中的行,并假设条件为True,然后将该行写入输出文件。

with open('list.csv', 'r') as rf:
    with open('output.csv', 'w') as wf:
        # Read lines
        for read_line in rf:
            if <your condition>:
                # Write to the file
                wf.write(read_line)

答案 1 :(得分:0)

使用csv模块,这可能是更优雅的解决方案:

with open('input.csv', 'r') as inp, open('output', 'w') as outp:
    csv_f = csv.reader(inp)
    csv_o = csv.reader(outp)
    for line in csv_f:
       if line == 'something':
            csv_o.writeline(line)