我使用gspread和pandas将我的google表转换为list of dictionaries。我的google表显示为以下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}](请帮助:)
发布于 2022-02-03 14:39:46
您可以使用
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模块来操作日期和两个日期之间的区别。
https://stackoverflow.com/questions/70972923
复制相似问题