如何解决如何在 Python 3.9 中根据来自其他两列的两组描述符从 CSV 文件的一列打印一组特定的数据?
我有一项任务是打印 CSV 文件中的特定数据。要打印的数据是在变量 search_HH 中指定的一个小时内,摄像机在其描述符存储在变量 search_Descriptor 中的位置捕获的车辆的注册号。
CSV 文件名为:Carscaught.csv
所有车辆的注册号都在标题为“车牌”的列下。 描述符是车辆被捕获的位置,位于标题为:描述符的列下。 每辆车被抓到的时间都在标题为:HH。
这是文件,它很大,所以我从谷歌驱动器共享了它:
https://drive.google.com/file/d/1zhIxg5s_nVGzk_5JUXkujbetSIuUcNRU/view?usp=sharing
这是 CSV 文件从顶部的几行图像,文件中的实际数据填充了 3170 行,并在“HH”列上从 0-23 小时一路走来:
在我的代码中,我定义了两个变量,因为我只想打印在“Kilburn Bldg”位置特别是在“17”小时捕获的车辆的车牌:
search_Descriptor = "Kilburn Bldg"
search_HH = "17"
这是我使用过的代码,但不知道如何使用定义的变量来打印我需要的特定数据。顺便说一下,我必须使用那些显示的特定变量。
search_Descriptor = "Kilburn Bldg"
search_HH = "17"
fo = open ('Carscaught.csv','r')
counter = 0;
line = fo.readline()
while line:
print(line,end = "")
line = fo.readline();
counter = counter + 1;
fo.close()
代码所做的就是读取整个文件并关闭它。我不知道如何获得所需的输出,这应该是这三个特定的注册号:
JOHNZS
KEENAS
KR8IVE
希望你能帮我解决这个问题。谢谢。
解决方法
你可能想看看DictReader
"my error message"
然后你就可以用简单的逻辑来搜索你需要的数据了。
,试试:
import pandas as pd
search_Descriptor = "Kilburn Bldg"
search_HH = 17 # based on the csv that you have posted above,HH is int and not str so I removed the quotation marks
df = pd.read_csv("Carscaught.csv")
df2 = df[df["Descriptor"].eq(search_Descriptor) & df["HH"].eq(search_HH)]
df3 = df2["Plates"]
print(df3)
输出(数字 1636、1648 和 1660 是它们的行号):
1636 JOHNZS
1648 KEENAS
1660 KR8IVE
如果您还没有 Pandas,根据您编写代码的位置,有不同的关于如何下载/使用它的教程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。