[英]How do I convert GoogleSheets columns into a python key-value dictionary
我有这个代码
dictionariob = {"paz": 5, "felicidad": 2, "mejor": 3, "alivio": 4, "-": -3}
lista = ["felicidad", "paz", "día", "estoy", "isla", "alivio", "-"]
sum([dictionariob[i] for i in lista if i in dictionariob])
从哪个例子中,我得到结果8
我想在谷歌表格中使用“ dictionariob” ,以便能够轻松添加或删除更多键(名称)/值(勇气)。 但是,一旦我将它切换到与之前共享的代码类似的代码,我就没有得到预期的结果。
所以,这是我的 GSheet: https://docs.google.com/spreadsheets/d/1-odw996EIUB9mo2Ad1fNh0y9QiXv7GU81COMj6g1Z-A/edit#gid=0
我就是这样称呼它的:
sheet_id = "1-odw996EIUB9mo2Ad1fNh0y9QiXv7GU81COMj6g1Z-A"
sheet_name = "a"
dicc = f"https://docs.google.com/spreadsheets/d/1-odw996EIUB9mo2Ad1fNh0y9QiXv7GU81COMj6g1Z-A/gviz/tq?tqx=out:csv&sheet=a"
dicc
import pandas as pd
diccionarioa=pd.read_csv(dicc,error_bad_lines=False, header=0)
diccionarioa.head(5)
这就是我尝试将其转换为字典的方式:
diction = diccionarioa.to_dict()
这是以前工作的相同代码,但将其替换为“ diccionarioa ”,它指的是我的谷歌表格,结果是“ 0 ”..
lista = ["felicidad", "paz", "día", "estoy", "isla", "alivio", "-"]
sum([diction[i] for i in lista if i in diction])
我错过了什么?
谢谢!!
您可以在求和之前将 dataframe 转换为字典:
import pandas as pd
sheet_id = "1-odw996EIUB9mo2Ad1fNh0y9QiXv7GU81COMj6g1Z-A"
sheet_name = "a"
dicc = f"https://docs.google.com/spreadsheets/d/1-odw996EIUB9mo2Ad1fNh0y9QiXv7GU81COMj6g1Z-A/gviz/tq?tqx=out:csv&sheet=a"
# get the dictionary from the dataframe here:
diccionarioa = pd.read_csv(dicc, header=0).set_index("nombre")["valor"].to_dict()
lista = ["felicidad", "paz", "día", "estoy", "isla", "alivio", "-"]
print(sum([diccionarioa[i] for i in lista if i in diccionarioa]))
印刷:
8
使用 dataframe 时,您可以直接通过过滤列对值求和(无需转换为字典):
lista = ["felicidad", "paz", "día", "estoy", "isla", "alivio", "-"]
print(diccionarioa[diccionarioa['nombre'].isin(lista)]['valor'].sum())
8
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.