【问题标题】:Python: Trying to extract and output rows from one csv file to another csv filePython:尝试从一个 csv 文件中提取行并将其输出到另一个 csv 文件
【发布时间】:2019-01-23 16:54:11
【问题描述】:

根据标题,我正在尝试编写一个 python 脚本来读取一个 csv 文件,过滤它以查看我需要哪些并将过滤后的行输出到一个单独的 csv 文件中。

到目前为止,我可以通过以下方式读取 csv 文件:

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

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

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

我想为每个元组分配一个行号,但这也没有去任何地方。

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

【问题讨论】:

    标签: python csv output


    【解决方案1】:

    使用 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)
    

    【讨论】:

      【解决方案2】:

      打开这两个文件。遍历您读取的文件中的行,并将您的条件评估为 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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-26
        • 2019-02-07
        • 2019-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多