我在编程方面非常新,如何创建一个调用游览ID并显示给定信息的字典。(游览,开始,结束)
巡回赛=巡回赛名称
开始=开始时可用的预订
结束=保留金额
csv文件列:
ID | Tour | Start | End
12345 | Italy | 100 | 80
13579 | China | 50 | 30
24680 | France | 50 | 30
例如,如果我调用ID:“12345”,它将显示 - 意大利,100,80
答案 0 :(得分:1)
你的问题很模糊,但制作一个词典很容易。
d={
'12345' : ['Italy',100,80],
....#add more as needed
}
现在d ['12345']将返回包含信息的列表。不确定你还需要什么...
答案 1 :(得分:1)
首先让我们创建文件:
with open("test.csv", "w") as f:
f.write("""\
ID,Tour,Start,End
12345,Italy,100,80
13579,China,50,30
24680,France,50,30""")
如果您打算使用Python和表格,我推荐使用pandas。这是一个单行:
import pandas as pd
d = pd.read_csv("test.csv",sep=",").set_index('ID').to_dict(orient='i')
d返回
{12345: {'End': 80, 'Start': 100, 'Tour': 'Italy'},
13579: {'End': 30, 'Start': 50, 'Tour': 'China'},
24680: {'End': 30, 'Start': 50, 'Tour': 'France'}}
或者也许:
import pandas as pd
df = pd.read_csv("test.csv",sep=",").set_index('ID')
d = dict(zip(df.index,df.values.tolist()))
d返回
{12345: ['Italy', 100, 80],
13579: ['China', 50, 30],
24680: ['France', 50, 30]}
答案 2 :(得分:1)
你可以试试这个:
import csv
data = list(csv.reader(open('filename.csv')))
final_data = {int(i[0]):[int(b) if b.isdigit() else b for b in i[1:]] for i in data}
答案 3 :(得分:0)
csv = """ID | Tour | Start | End
12345 | Italy | 100 | 80
13579 | China | 50 | 30
24680 | France | 50 | 30"""
d = [[v.strip() for v in row.split('|')] for row in csv.split('\n')]
d = dict((row[0], row[1:]) for row in d)
print(d["12345"])