python - 如何在 python 中查找 csv 文档中的特定行

标签 python csv python-2.7

我想做的是读入一个 csv 文档并在 SN 列中找到所有值 > 20 并创建一个新文件,其中仅包含 SN > 20 的行。

我知道我需要做:

  1. 阅读原始文件
  2. 打开一个新文件
  3. 遍历原始文件的行

我能做的是找到 SN > 20 的行

import csv
import os

os.chdir("C:\Users\Robert\Documents\qwe")

with open("gdweights_feh_robert_cmr.csv",'rb') as f:
    reader = csv.reader(f, delimiter= ',')
    zerovar = 0
    for row in reader:
        if zerovar==0:
            zerovar = zerovar + 1
        else:
            sn = row [11]
            zerovar = zerovar + 1
            x = float(sn)
            if x > 20:
                print x

所以我的问题是如何获取 SN > 20 的行并将其转换为新文件?

最佳答案

将数据保存在列表中,然后将列表写入文件。

import csv
import os

os.chdir(r"C:\Users\Robert\Documents\qwe")

output_ary = []
with open("gdweights_feh_robert_cmr.csv",'rb') as f:
    reader = csv.reader(f, delimiter= ',')
    zerovar = 0
    for row in reader:
        if zerovar==0:
            zerovar = zerovar + 1
        else:
            sn = row [11]
            zerovar = zerovar + 1
            x = float(sn)
            if x > 20:
                print x
                output_ary.append(row)

with open("output.csv",'w') as f2:
    for row in output_ary:
        for item in row:
            f2.write(item + ",")

关于python - 如何在 python 中查找 csv 文档中的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15891609/

相关文章:

python - 在 flask (flask.g) 中使用全局变量

python - 如何对函数的不同值求和?

python - 在 Ubuntu 16.04 LTS 上使用 pgadmin4.15 和 apache 时出现内部服务器错误

python - python程序中的插值错误

mysql - 在插入表之前应用正则表达式从 .csv 加载数据

java - 使用来自 CSV 的 Java+mySQL 插入特定字符集

python-2.7 - python2 Pandas : how to merge a part of another dataframe to a dataframe

python - 生成具有不同大小的透明层的合成图像

python - 从 Google Map Mobile 3.0 的 MyLocation 功能中检索纬度/经度

python - 使用 CSV.QUOTE_NONNUMERIC 而不引用标题