我的目标是让用户在 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))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句