簡體   English   中英

如何從python中的數據創建.csv或.xlsx文件

[英]How to create .csv or .xlsx file from a data in python

[
    {
        "name":"Iphone XR",
        "price" :"$500",
        "Reviews":{"user":{"Name":"mr.Y","id":122145,"review":'Wow'},
                   "user2":{"Name":"mr.Z","id":545145,"review":'Wow 1'},
                    "user3":{"Name":"mr.A","id":541274,"review":'Wow 2'},}
    },
    {
        "name":"Iphone 13",
        "price" :"$1500",
        "Reviews":{"user1":{"Name":"mr.S","id":5435632,"review":'Wow11'},
                   "user2":{"Name":"mr.F","id":546645,"review":'Wow22'},
                    "user3":{"Name":"mr.G","id":255863,"review":'Wow33'},}
    },
]

我正在使用蟒蛇。 我有這個數據。 如何獲得漂亮的 excel 或任何類似 excel 的輸出。

我不太擅長程序。 像這樣一個:

No.  P-name  price  Reviews  Name  id  review     Name  id  review

1    Ipho..  $500            Name  4.. Good Phone Mr.. .... ......
2 
................................................

我正在使用熊貓,但沒有得到相同的結果。 對此數據的任何建議或解決方案。

這段代碼應該可以完成這項工作:

import pandas as pd
import json

json1 = """
[
    {
        "name":"Iphone XR",
        "price" :"$500",
        "Reviews":{"user":{"Name":"mr.Y","id":122145,"review":'Wow'},
                   "user2":{"Name":"mr.Z","id":545145,"review":'Wow 1'},
                    "user3":{"Name":"mr.A","id":541274,"review":'Wow 2'}}
    },
    {
        "name":"Iphone 13",
        "price" :"$1500",
        "Reviews":{"user1":{"Name":"mr.S","id":5435632,"review":'Wow11'},
                   "user2":{"Name":"mr.F","id":546645,"review":'Wow22'},
                    "user3":{"Name":"mr.G","id":255863,"review":'Wow33'}}
    }
]
"""



json1 = json1.replace("'", '"')

response = json.loads(json1)

pd.DataFrame.from_dict(response)

reviews = ''

res = pd.DataFrame()
for _, review in pd.DataFrame.from_dict(response).iterrows():

    item, price, reviews = review

    items = reviews.items()

    aux1 = pd.DataFrame( [ i for i, j in items ], columns=['User']  )\
        .merge(pd.DataFrame( [ j for i, j in items ] ), left_index=True, right_index=True, how='inner')

    index = [(i, item, price) for i in range(len(aux1))]
    aux1.index = pd.Index(index)

    if res.empty:
        res = aux1.copy()
    else:
        res = res.append(aux1, ignore_index=False, sort=False)

res.to_excel(r'path/to/ouput/your/excel.xlsx')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM