我是个想学Python的笨蛋
我试图为一个包含30000行数据的CSV文件编写一个脚本。在
我想在每一行中查找列中的一个数字,并在每次找到该数字时返回该行。在
我已经搜索和尝试了许多不同的建议,但他们似乎没有做我需要的,有人能帮我吗,如果我说不通,请告诉我。在
以下是到目前为止我所得到的,它只是返回到标题:
import csv
with open("test.csv", "r") as input, open ("result.txt","w") as result:
testfilereader = csv.DictReader(input)
Age = 23
fieldnames = testfilereader.fieldnames
testfilewriter = csv.DictWriter(result, fieldnames, delimiter=',',)
testfilewriter.writeheader()
for row in testfilereader:
for field in row:
if field == Age:
testfilewriter(row)
input.close
谢谢大家
您可以使用用于处理表格数据的^{} 模块。在
首先:将csv读入所谓的数据帧:
现在,您可以通过逻辑索引筛选所需的行:
^{pr2}$要将结果返回磁盘,只需使用^{} 方法:
因为您使用了DictFileReader,所以您得到了一个字典列表。 因此,您应该使用
dictionary['field']
在字段中搜索所需的年龄。 像这样:当然,如果字段名是其他名称,则需要将
row['Age']
更改为row['Somethingelse']
。在如果您不想迭代这些值,应该使用
testfilereader.values()
,但是首先将数据映射到字典就没有意义了。在你也不应该试图关闭那里的输入。它将在离开
with open...
块时关闭。在您可以按如下方式使用
Pandas
:csv文件:
python:
^{pr2}$相关问题 更多 >
编程相关推荐