簡體   English   中英

如何從 json 文件中提取特定數據並將其保存為 python 文件中的 csv 文件

[英]How to extract specific data from json file and save it as csv file in python

我已導入以下 json 文件“ https://pastebin.com/embed_js/PknXEGq2 ”並提取其中的所有產品,現在我需要以這種特定格式打印每個可用產品:“您可以在我們的商店購買Product_NameProduct_Price ”中,Product_Name 是在 30 處截斷的產品名稱,Product_Price 是 dd.d 格式的四舍五入的產品價格(例如:13.34 ==> 13.3)。

  1. 如果產品不可用,它會記錄產品 ID 和產品名稱

  2. 如果找不到產品可用性的線索,則會記錄錯誤

  3. 它將可用產品保存在 csv 文件中。

     import json data = json.load(open('data.json')) save_data = [] def get_products(): query_access = data['Bundles'] for question_data in query_access: save_data.append(question_data) print(save_data) get_products()

假設您的 json 文件如下所示:

{
  "my_data": [
    {
      "name": "Garlic",
      "price": 2.2
    },
    {
      "name": "Potatoes",
      "price": 7.1,
      "quality": "Decent"
    },
    {
      "name": "Tomatoes",
      "price": 6.9,
      "avaiable": "No"
    }
  ],
  "useless_data": [
    {
      "some": "useless",
      "data": [
        "here"
      ]
    }
  ]
}

如果您只需要名稱、價格和數量,您的代碼可能類似於:

import json
import csv

data = json.load(open("MyBeautifulFile.json"))["my_data"]
useful_columns = ["name", "price", "quality"]
default_value = ""

with open('MyBeautifulFile.csv', mode='w') as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=useful_columns)
    writer.writeheader()


    for obj in data:
        row = {}
        for column in useful_columns:
            if column in obj.keys():
                row[column] = obj[column]
            else:
                row[column] = default_value
        writer.writerow(row)

暫無
暫無

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

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