在字典列表中添加key/value对(计算)
Add a key/value pair(With caculation) in a list of dictionaries
我使用 gspread
和 pandas
将我的 google sheet 转换为 dictionaries
的 list
。我的googlesheet如下list
:(列表很长,所以只列出几行)
mysheet=[{'StartDate': '2021-10-02', 'ID': 11773, 'Receiver': Mike},{'StartDate': '2021-11-02', 'ID': 15673, 'Receiver': Jane}, ... {'StartDate': '2021-10-10', 'ID': 34653, 'Receiver': Jack}]
我想将 key
/value
对添加到此列表,该值将使用具有函数的先前单元格中的值。例如,我想计算从今天开始还有多少天,所以我的列表将显示为:
mysheetnew=[{'StartDate': '2021-10-02', 'ID': 11773, 'Receiver': Mike, 'Days':66 },{'StartDate': '2021-10-03', 'ID': 15673, 'Receiver': Jane, 'Days':65}, ... {'StartDate': '2021-10-5', 'ID': 34653, 'Receiver': Jack, 'Days':63}]
请帮忙:)
您可以使用
mysheetnew = []
for item in mysheet:
temp = item.copy()
temp["keyname"] = value
mysheetnew.append(temp)
而不是 values
,您可以输入 func(temp["date"])
或其他。
希望对你有帮助。
编辑:
更准确地说
import datetime
mysheetnew = []
for item in mysheet:
temp = item.copy()
timediff = datetime.datetime.now() - datetime.datetime.strptime(temp["StartDate"], "%Y-%m-%d")
temp["Days"] = timediff.days
mysheetnew.append(temp)
这利用 datetime
模块来处理日期并计算两个日期之间的差异。
我使用 gspread
和 pandas
将我的 google sheet 转换为 dictionaries
的 list
。我的googlesheet如下list
:(列表很长,所以只列出几行)
mysheet=[{'StartDate': '2021-10-02', 'ID': 11773, 'Receiver': Mike},{'StartDate': '2021-11-02', 'ID': 15673, 'Receiver': Jane}, ... {'StartDate': '2021-10-10', 'ID': 34653, 'Receiver': Jack}]
我想将 key
/value
对添加到此列表,该值将使用具有函数的先前单元格中的值。例如,我想计算从今天开始还有多少天,所以我的列表将显示为:
mysheetnew=[{'StartDate': '2021-10-02', 'ID': 11773, 'Receiver': Mike, 'Days':66 },{'StartDate': '2021-10-03', 'ID': 15673, 'Receiver': Jane, 'Days':65}, ... {'StartDate': '2021-10-5', 'ID': 34653, 'Receiver': Jack, 'Days':63}]
请帮忙:)
您可以使用
mysheetnew = []
for item in mysheet:
temp = item.copy()
temp["keyname"] = value
mysheetnew.append(temp)
而不是 values
,您可以输入 func(temp["date"])
或其他。
希望对你有帮助。
编辑: 更准确地说
import datetime
mysheetnew = []
for item in mysheet:
temp = item.copy()
timediff = datetime.datetime.now() - datetime.datetime.strptime(temp["StartDate"], "%Y-%m-%d")
temp["Days"] = timediff.days
mysheetnew.append(temp)
这利用 datetime
模块来处理日期并计算两个日期之间的差异。