
[英]How in python to save and retrieve data to and from a csv file and into a dictionary?
[英]How to save data from csv file to dictionary?
我正在尝试读取 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'])
请看看这是否有效:
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]
我假设你总共只有 4 列,第 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.