我想做的是读入一个 csv 文档并在 SN 列中找到所有值 > 20 并创建一个新文件,其中仅包含 SN > 20 的行。
我知道我需要做:
- 阅读原始文件
- 打开一个新文件
- 遍历原始文件的行
我能做的是找到 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/