首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按照我的结构在Excel中插入一个JSON文件

按照我的结构在Excel中插入一个JSON文件
EN

Stack Overflow用户
提问于 2021-09-29 16:12:16
回答 1查看 23关注 0票数 0

我正在尝试将这个JSON文件转储到我用Openpyxl创建的Excel文件中。

下面是我的JSON文件的一个示例:

代码语言:javascript
复制
 [
  {
    "id": 3,
    "url": "https://www.immobiliare.it/annunci/p-161271/",
    "titolo": "Appartamenti e Attici di nuova costruzione in vendita a Roma",
    "prezzo": "da \u20ac 165.000 - \u20ac 254.000",
    "citta": "Roma",
    "zona": "Infernetto",
    "via": "Via Croviana, 89",
    "tipologia": "",
    "superficie": "",
    "posti_auto": "",
    "piano": "",
    "piani_edificio": "",
    "balcone": 0,
    "cantina": 0,
    "terrazza": 0,
    "giardino_privato": 0,
    "taverna": 0,
    "esposizione_esterna": 0
  },
  {
    "id": 10,
    "url": "https://www.immobiliare.it/annunci/88266101/",
    "titolo": "Trilocale via Scigliano, Morena, Roma",
    "prezzo": "\u20ac 260.000\u20ac 280.000(-7,1%)",
    "citta": "Roma",
    "zona": "Morena",
    "via": "Via Scigliano",
    "tipologia": "Appartamento",
    "superficie": "101 m\u00b2",
    "posti_auto": "",
    "piano": "1\u00b0",
    "piani_edificio": "1 piano",
    "balcone": 1,
    "cantina": 0,
    "terrazza": 0,
    "giardino_privato": 0,
    "taverna": 0,
    "esposizione_esterna": 1
  },

下面是数据需要在哪里结束的屏幕截图:

基本上,我发现困难的是准确地告诉去哪里放置数据。我考虑了这个过程,它基本上应该按照这个顺序进行:

对于每个ID对象,数据作为每列1,直到到达下一个ID.为止。

这是我的代码:

代码语言:javascript
复制
    riga_dump, colonna_dump = 3, 2

    for value in self.json:
        cell = scheda_1.cell(row=riga_dump, column=colonna_dump)
        cell.alignment = Alignment(horizontal='center')
        cell.font = Font(color='00000000')
        cell.value = value
        colonna_dump += 1
        if colonna_dump == 17:
            riga_dump += 1

问题是,用这种方法,我试图把一个完整的ID对象放在一个细胞里.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-29 22:17:11

不确定是否正确地理解了你的问题(因为我没有看到任何问题,这似乎令人沮丧,特别是在没有答案的情况下)。所以,您所需要的可能就是添加外部循环来迭代对象。就像这样:

代码语言:javascript
复制
riga_dump, colonna_dump = 3, 2

for obj in json:

    for value in obj:
        cell = scheda_1.cell(row=riga_dump, column=colonna_dump)
        cell.alignment = Alignment(horizontal='center')
        cell.font = Font(color='00000000')
        cell.value = value
        colonna_dump += 1

    riga_dump += 1
    colonna_dump = 2 # or = 0 ? it's hard to tell from your screenshot
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69380005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档