![](/img/trans.png)
[英]Python list comprehension for csv file row extraction not evaluating correctly
[英]CSV File Row extraction using Python
我的目标是要有一个用户,在tkinter GUI中输入一个值。 然后,此值用于提取包含用户输入值的行。 test.CSV文件的示例;
用户输入为1000,因此
将提取[(field1 cat),(field2 fred),(field3 apple),(field4 1000),(field5 car)]
我已经通过使用以下代码实现了CSV查找
import csv
with open('test.csv') as f:
reader =csv.DictReader(f)
rows = [row for row in reader if row['field4'] =='1000']
for row in rows:
print (row)
下一步是只打印我需要的列,即不是所有列都是必需的:
我只想要[(field1 cat), (field3 apple)]
,可以使用上面的代码来实现,还是在Python中有更好的Vlookup()方法?
Python中用于处理表的标准工具是pandas
,其核心工具是一个称为DataFrame
的对象。
import pandas as pd
df = pd.read_csv("test.csv")
print(df[["field1", "field2"]][df["field4"]==1000])
更新:根据注释中的要求,您可能希望也可能不希望打印标题。 通过显式调用.to_string()
的方法, DataFrame
,你可以避开很容易地。
print(df[["field1", "field2"]][df["field4"]==1000].to_string(header=False))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.