简体   繁体   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'},}
    },
]

I'm using python.我正在使用蟒蛇。 I have this data.我有这个数据。 How to get a beautiful excel or any output like excel.如何获得漂亮的 excel 或任何类似 excel 的输出。

I'm not very good at programs.我不太擅长程序。 OutPut Like this one :像这样一个:

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

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

I'm using pandas but I'm not getting the same results.我正在使用熊猫,但没有得到相同的结果。 Any suggestions or solutions for this data.对此数据的任何建议或解决方案。

This code should do the job:这段代码应该可以完成这项工作:

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