python - 我的电子表格阅读功能不断覆盖所有内容
问题描述
好的,所以我有一个电子表格,我想将所有条目放入我的嵌套字典列表中。我决定使用两个 for 循环来遍历电子表格。并将单元格的值安全地保存到相应的嵌套字典中。这是我的代码(我知道这是我非常缺乏经验的狗屎):
def SpGetLink():
global SpDic
for row in SpDicGen():
Data = dict.fromkeys(SpDic.values(), {})
Data[SpDic[row]]["Link"] = []
Data[SpDic[row]]["Title"] = []
for col in range(1000):
if ws.cell(row=row, column=col + 6).hyperlink is not None:
data = str(ws.cell(row=row, column=col + 6).hyperlink.target)
if data.startswith("http"):
if data not in Data[SpDic[row]]["Link"]:
Data[SpDic[row]]["Link"].append(data)
json.dump(Data, open("Data.json", "w+"), indent=4) # , sort_keys=True)
else:
Data[SpDic[row]]["Title"].append(data)
SpDic 是一个单独的字典,用于获取行的相应名称。
现在我的问题如下。当我打开 Data.json 时,每个应该包含相应行中所有链接的列表都包含相同的 5 个链接,它们是电子表格的最后 5 个链接。它看起来像这样:
"smile": {
"Link": [
"https://media.giphy.com/media/k7J8aS3xpmhpK/giphy.gif",
"https://media.giphy.com/media/aY1HMl4E1Ju1y/giphy.gif",
"https://media.giphy.com/media/RLJxQtX8Hs7XytaoyX/giphy.gif",
"https://media.giphy.com/media/1448TKNMMg4BFu/giphy.gif",
"https://media.giphy.com/media/b7l5cvG94cqo8/giphy.gif"
],
"Title": []
},
"grin": {
"Link": [
"https://media.giphy.com/media/k7J8aS3xpmhpK/giphy.gif",
"https://media.giphy.com/media/aY1HMl4E1Ju1y/giphy.gif",
"https://media.giphy.com/media/RLJxQtX8Hs7XytaoyX/giphy.gif",
"https://media.giphy.com/media/1448TKNMMg4BFu/giphy.gif",
"https://media.giphy.com/media/b7l5cvG94cqo8/giphy.gif"
],
"Title": []
},
"laugh": {
"Link": [
"https://media.giphy.com/media/k7J8aS3xpmhpK/giphy.gif",
"https://media.giphy.com/media/aY1HMl4E1Ju1y/giphy.gif",
"https://media.giphy.com/media/RLJxQtX8Hs7XytaoyX/giphy.gif",
"https://media.giphy.com/media/1448TKNMMg4BFu/giphy.gif",
"https://media.giphy.com/media/b7l5cvG94cqo8/giphy.gif"
],
"Title": []
},
有谁知道为什么会发生这种情况以及如何解决?
解决方案
我通过将其中一个 for 循环变成一个函数并在另一个 for 循环中调用它来修复它。
推荐阅读
- python-3.x - 给每个保存的图像一个特定的名称
- python - 找到1到20之间的素数代码不返回素数2,正确的算法是什么?
- python - 我想以完美的小部件顺序对齐我的代码,使用户界面看起来整洁干净
- python - 如何按数值对字符串的单词进行排序
- caching - React Web 应用程序对我来说很好,但对于客户端仅适用于匿名选项卡
- typescript - 使用鉴别器字段创建联合类型的值
- r - 如何创建循环以在 df - R 中添加新列
- amazon-web-services - 我可以允许匿名访问 AWS API Gateway 文档吗?
- if-statement - 简单的 if 和 or 语句
- python - USB 摄像头:OpenCV VideoCapture 返回部分帧