【发布时间】:2015-05-29 18:57:15
【问题描述】:
为简单起见,使用如下数据:
Name,Age,Height
Joe,14,65
Sam,18,74
Sarah,21,62
我想遍历文件的每一行,将Age 列与某个值进行比较(例如:16)。如果值小于固定值,我想删除该行。
在本例中,我将得到以下数据:
Name,Age,Height
Sam,18,74
Sarah,21,62
提前致谢!
【问题讨论】:
标签: python csv python-3.x
为简单起见,使用如下数据:
Name,Age,Height
Joe,14,65
Sam,18,74
Sarah,21,62
我想遍历文件的每一行,将Age 列与某个值进行比较(例如:16)。如果值小于固定值,我想删除该行。
在本例中,我将得到以下数据:
Name,Age,Height
Sam,18,74
Sarah,21,62
提前致谢!
【问题讨论】:
标签: python csv python-3.x
f = open('myfile.csv', 'r')
g = open('mynewfile.csv','w')
for line in f:
if int(line.split(",")[1]) != FIXED_VALUE:
g.write(line)
f.close()
g.close()
对于这样一个简单的用例,我不会使用外部 csv 库。
*代码未经测试
【讨论】:
这是一个使用 csv 模块的基本示例。它会创建一个没有标准数据的新文件。
#!/usr/bin/python
import csv
infile = 'input.csv'
outfile = 'output.csv'
wfh = open(outfile, 'w')
with open(infile, 'r') as fh:
reader = csv.DictReader(fh, delimiter=',')
for row in reader:
name = row['Name']
age = row['Age']
height = row['Height']
if age >= 16:
wfh.write("{},{},{}".format(name, age, height))
wfh.close()
【讨论】:
f = open("file.csv","r")
lines=f.readlines()
f.close()
f = open("file.csv","w")
for line in lines:
if int(line.split(",")[1]) >= 16:
f.write(line)
f.close()
【讨论】: