Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将csv文件数据添加到字典中_Python_Csv - Fatal编程技术网

Python 如何将csv文件数据添加到字典中

Python 如何将csv文件数据添加到字典中,python,csv,Python,Csv,我是一个编程新手,如何制作一个调用旅游ID并显示给定信息的字典。(旅游,开始,结束) 旅游=旅游名称 开始=开始时的可用预订 结束=剩余的预订量 csv文件列: ID | Tour | Start | End 12345 | Italy | 100 | 80 13579 | China | 50 | 30 24680 | France | 50 | 30 例如,如果我调用ID:“12345”,它将显示-Italy,100,80您的问题

我是一个编程新手,如何制作一个调用旅游ID并显示给定信息的字典。(旅游,开始,结束)

旅游=旅游名称

开始=开始时的可用预订

结束=剩余的预订量

csv文件列:

ID     |   Tour   | Start | End

12345  |  Italy   |  100  | 80

13579  |  China   |  50   | 30

24680  |  France  |  50   | 30

例如,如果我调用ID:“12345”,它将显示-Italy,100,80

您的问题相当模糊,但编写dict非常简单

d={
  '12345' : ['Italy',100,80],
 ....#add more as needed
}

现在d['12345']将返回包含信息的列表。不确定你还需要什么…

你的问题很模糊,但做口述很容易

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'}}
{12345: ['Italy', 100, 80],
 13579: ['China', 50, 30],
 24680: ['France', 50, 30]}
或者可能:

import pandas as pd

df = pd.read_csv("test.csv",sep=",").set_index('ID')
d = dict(zip(df.index,df.values.tolist()))
d返回

{12345: {'End': 80, 'Start': 100, 'Tour': 'Italy'},
 13579: {'End': 30, 'Start': 50, 'Tour': 'China'},
 24680: {'End': 30, 'Start': 50, 'Tour': 'France'}}
{12345: ['Italy', 100, 80],
 13579: ['China', 50, 30],
 24680: ['France', 50, 30]}

首先,让我们创建文件:

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'}}
{12345: ['Italy', 100, 80],
 13579: ['China', 50, 30],
 24680: ['France', 50, 30]}
或者可能:

import pandas as pd

df = pd.read_csv("test.csv",sep=",").set_index('ID')
d = dict(zip(df.index,df.values.tolist()))
d返回

{12345: {'End': 80, 'Start': 100, 'Tour': 'Italy'},
 13579: {'End': 30, 'Start': 50, 'Tour': 'China'},
 24680: {'End': 30, 'Start': 50, 'Tour': 'France'}}
{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}
您可以尝试以下方法:

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}

“建一个图书馆”?我想你不是说python库?库?通常会将其存储到数据库中。我指的是字典。您是否尝试过使用python
csv
模块?你可能会对这本书感兴趣,你能告诉我们你试过什么吗?我想你不是说python库?库?通常会将其存储到数据库中。我指的是字典。您是否尝试过使用python
csv
模块?你可能会对这本书感兴趣,你能告诉我们你试过什么吗?