0

可以说我有一个这样的csv:

make,model,UCity,UHighway,year
Alfa Romeo,Spider Veloce 2000,23.3333,35,1985
Ferrari,Testarossa,11,19,1985
Dodge,Charger,29,47,1985
Dodge,B150/B250 Wagon 2WD,12.2222,16.6667,1985

我想根据用户输入访问特定行的“Ucity”和“Uhighway”列。因此,假设用户输入“dodge”作为品牌,“charger”作为型号,“1985”作为年份。使用用户输入我将如何访问“29”和“47”,如果可能的话,它们分别是“Ucity”和“Uhighway”。我感谢任何和所有的反馈谢谢!

4

1 回答 1

0

您可以使用 pandas 读取 csv,然后从那里开始 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html https://pandas.pydata.org/docs/reference/api /pandas.read_csv.html

代码应该类似于以下内容。请原谅我没有太多时间进行彻底的测试以查看代码是否有效,但您可以参考上面的文档以了解如何从数据框中子集和提取数据

import pandas as pd
df = pd.read_csv('/path/to/file.csv')
make = input('enter the make:')
model = input('enter the model:')

subset = df[(df['make'] == make) & (df['model'] == model)]

上面的代码将数据框子集到具有所需数据的行中,我们现在可以如下调用特定列

# We know that there will only be one row
ucity = subset.UCity.values[0]
uhwy = subset.UHighway.values[0]

现在我将所需的值存储在变量中,我可以对它们做任何我需要的事情,比如,也许将它们存储在字典/json中?取决于你需要对输出做什么

{
    "UCity"   : ucity,
    "UHighway": uhwy
}
于 2021-07-19T18:58:17.493 回答