[英]How do I add csv file data into a dictionary
我是编程上的新手,我该如何制作一个字典来调用Tour ID并显示给定的信息。(Tour,Start,End)
游览=游览名称
开始=开始时可用的预订
结束=剩余预留量
csv文件列:
ID | Tour | Start | End
12345 | Italy | 100 | 80
13579 | China | 50 | 30
24680 | France | 50 | 30
例如,如果我呼叫ID:“ 12345”,它将显示-Italy,100,80
您的问题很模糊,但是做出命令很容易。
d={
'12345' : ['Italy',100,80],
....#add more as needed
}
现在d ['12345']将返回包含信息的列表。 不知道您还需要什么...
首先让我们创建文件:
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]}
您可以尝试以下方法:
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}
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"])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.