如何将csv文件中的数据保存到字典中?

2024-10-03 17:26:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试读取csv文件中的数据并将其保存为字典。前三列是键,第二列是值。你知道吗

我试着用下面的方法来做。但它并没有将数据保存到计算机内存中,只是一种读取数据的方法。你知道吗

实际上,我需要将所有数据保存到g(I,j,t)中。你知道吗

例如,g(1,1,2)=20,g(1,1,3)=40。。。。你知道吗

我怎么能做到?你知道吗

df1_head = [ 'i', 'j', 't', 'g']
df1 = pd.read_csv('C:/Users/C1/input01g.csv', names=df1_head)
def g(i,j,t):
    return (df1[(df1['i'] == i) & (df1['j'] == j) & (df1['t'] == t)]['g'])

Tags: 文件csv数据方法内存read字典计算机
3条回答

我想你只有4列总数和第四是关键在这和其他3应该是你的csv文件和书面逻辑如下值,但如果你的csv是在不同的方式,他们可能不得不修改下面的代码相应

dic = {}
with open("my.csv") as f:
    for line in f:
        linedata = line.strip().split(',')
        dic[linedata[3]] = linedata[:-1]
print dic

请看看这是否有效:

import csv

my_dict = {}
with open('abc.csv', newline='') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=' ')
    for row in spamreader:
        print(row)
        key_list = row[0][0:5]
        val = row[0].split(',')[3]
        my_dict.__setitem__(key_list,val)
print(my_dict)

abc.csv公司

i,j,k,10
p,q,r,20
w,r,t,30

我是这样解决的:

g={}
df1_head = [ 'i', 'j', 't', 'g']
df1 = pd.read_csv('C:/Users/C1/input01g.csv', names=df1_head)

for x in range(len(df1['g'])):
    g[(df1['i'][x],df1['j'][x],df1['t'][x])] =df1['g'][x]

相关问题 更多 >