JSON使用Pandas Keys作为标头到CSV Python3

发布于 2025-02-09 02:59:56 字数 765 浏览 1 评论 0原文

我使用了一个虚拟API为我生成JSON产品,我想使用 pandas

“

您可以看到以上python代码

output> output

“

,我想要的是要成为标题的关键

{'' id':2,'title':'iPhone x','description':}

to:

Id  Title     description
1  iPhoneX  descriptionx
2   iPhoneX  descriptionx

Hey

i used a dummy api generating Json products for me and i want to convert it to CSV file using Pandas

Python Code

as you can see this the python code above

Output

Output

and what i want is Keys to be headers

From: {'id': 2, 'title': 'iPhone X', 'description':}

To :

Id  Title     description
1  iPhoneX  descriptionx
2   iPhoneX  descriptionx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人间不值得 2025-02-16 02:59:57

smippet r.json()实际上返回带有4个键的字典:productstotalskip和<代码>限制。看来您只对products感兴趣,因此只需修改程序以添加[“ products”] r.json()足够:

import requests
import pandas as pd

r = requests.get("https://dummyjson.com/products")
json_products = pd.DataFrame(r.json()["products"])
json_products.to_csv()
print(json_products)

这输出:

    id                                   title  ...                                          thumbnail                                             images
0    1                                iPhone 9  ...  https://dummyjson.com/image/i/products/1/thumb...  [https://dummyjson.com/image/i/products/1/1.jp...
1    2                                iPhone X  ...  https://dummyjson.com/image/i/products/2/thumb...  [https://dummyjson.com/image/i/products/2/1.jp...
2    3                      Samsung Universe 9  ...  https://dummyjson.com/image/i/products/3/thumb...   [https://dummyjson.com/image/i/products/3/1.jpg]
3    4                                 OPPOF19  ...  https://dummyjson.com/image/i/products/4/thumb...  [https://dummyjson.com/image/i/products/4/1.jp...
4    5                              Huawei P30  ...  https://dummyjson.com/image/i/products/5/thumb...  [https://dummyjson.com/image/i/products/5/1.jp...
5    6                             MacBook Pro  ...  https://dummyjson.com/image/i/products/6/thumb...  [https://dummyjson.com/image/i/products/6/1.pn...
6    7                     Samsung Galaxy Book  ...  https://dummyjson.com/image/i/products/7/thumb...  [https://dummyjson.com/image/i/products/7/1.jp...
7    8              Microsoft Surface Laptop 4  ...  https://dummyjson.com/image/i/products/8/thumb...  [https://dummyjson.com/image/i/products/8/1.jp...
8    9                          Infinix INBOOK  ...  https://dummyjson.com/image/i/products/9/thumb...  [https://dummyjson.com/image/i/products/9/1.jp...
...

The snippet r.json() actually returns a dictionary with 4 keys: products, total, skip and limit. It seems that you're only interested in products, so simply modifying the program to add ["products"] after r.json() is sufficient:

import requests
import pandas as pd

r = requests.get("https://dummyjson.com/products")
json_products = pd.DataFrame(r.json()["products"])
json_products.to_csv()
print(json_products)

This outputs:

    id                                   title  ...                                          thumbnail                                             images
0    1                                iPhone 9  ...  https://dummyjson.com/image/i/products/1/thumb...  [https://dummyjson.com/image/i/products/1/1.jp...
1    2                                iPhone X  ...  https://dummyjson.com/image/i/products/2/thumb...  [https://dummyjson.com/image/i/products/2/1.jp...
2    3                      Samsung Universe 9  ...  https://dummyjson.com/image/i/products/3/thumb...   [https://dummyjson.com/image/i/products/3/1.jpg]
3    4                                 OPPOF19  ...  https://dummyjson.com/image/i/products/4/thumb...  [https://dummyjson.com/image/i/products/4/1.jp...
4    5                              Huawei P30  ...  https://dummyjson.com/image/i/products/5/thumb...  [https://dummyjson.com/image/i/products/5/1.jp...
5    6                             MacBook Pro  ...  https://dummyjson.com/image/i/products/6/thumb...  [https://dummyjson.com/image/i/products/6/1.pn...
6    7                     Samsung Galaxy Book  ...  https://dummyjson.com/image/i/products/7/thumb...  [https://dummyjson.com/image/i/products/7/1.jp...
7    8              Microsoft Surface Laptop 4  ...  https://dummyjson.com/image/i/products/8/thumb...  [https://dummyjson.com/image/i/products/8/1.jp...
8    9                          Infinix INBOOK  ...  https://dummyjson.com/image/i/products/9/thumb...  [https://dummyjson.com/image/i/products/9/1.jp...
...
在你怀里撒娇 2025-02-16 02:59:57

答案。

import requests
import pandas as pd
import json
wantedElements = ["id", "description", "title"]
r = requests.get("https://dummyjson.com/products").text
all_json_products = json.loads(r)['products']
result = ""
for i in all_json_products:
    json_products = i
    for key in json_products.keys():
        if key in wantedElements:
            result += " "+key+" "
    result += "\n"
    for ele in json_products:
        if ele in wantedElements:
            result += " "+str(json_products[ele])+" "
print(result)

我想这是我们不需要熊猫来做到这一点的

i guess this is the answer

import requests
import pandas as pd
import json
wantedElements = ["id", "description", "title"]
r = requests.get("https://dummyjson.com/products").text
all_json_products = json.loads(r)['products']
result = ""
for i in all_json_products:
    json_products = i
    for key in json_products.keys():
        if key in wantedElements:
            result += " "+key+" "
    result += "\n"
    for ele in json_products:
        if ele in wantedElements:
            result += " "+str(json_products[ele])+" "
print(result)

we don't need pandas to do this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文