[英]Read a JSON file using pandas
我正在嘗試將 JSON 文件轉換為數據框,並在最后將其保存到 CSV 文件中。 好吧,我可以使用 Jupyter 或 Colab 來做到這一點,但是當我嘗試使用本地 python 編譯器時,我遇到了很多錯誤。
這是我在 Colab 上工作的代碼
import pandas as pd
import datetime
# reading json file
df = pd.read_json(path_or_buf=CONFIG_PROPERTIES)
# normalizing json file
df_items_normalized = pd.json_normalize(data=df.orders, sep='_', record_path='items', meta=['error', 'file','order_id'])
# define parameters to save in csv
today = datetime.datetime.today().strftime('%Y_%m_%d')
path = "/output/pedidos_weedu_" + today + ".csv"
# saving to csv
df_items_normalized.to_csv(path, index=False)
這是我嘗試通過 Pycharm 時的代碼
import pandas as pd
import datetime
import json
import os
CWD = os.getcwd()
JSON_CONFIG_FILE_PATH = '%s/%s' % (CWD, '12-11-2021.json')
CONFIG_PROPERTIES = {}
try:
with open(JSON_CONFIG_FILE_PATH) as data_file:
CONFIG_PROPERTIES = json.load(data_file)
except IOError as e:
print(e)
print('IOError: Unable to open config.json.')
exit(1)
print(CONFIG_PROPERTIES)
# reading json file
df = pd.read_json(path_or_buf=CONFIG_PROPERTIES)
# normalizing json file
df_items_normalized = pd.json_normalize(data=df.orders, sep='_', record_path='items', meta=['error', 'file','order_id'])
# define parameters to save in csv
today = datetime.datetime.today().strftime('%Y_%m_%d')
path = "/output/pedidos_weedu_" + today + ".csv"
# saving to csv
df_items_normalized.to_csv(path, index=False)
這是我正在處理的JSON文件
我稍微更改了您的代碼:
import pandas as pd
import datetime
import json
import os
from pandas.io.json import json_normalize as jn
CWD = os.getcwd()
JSON_CONFIG_FILE_PATH = "%s/%s" % (CWD, "12-11-2021.json")
print(JSON_CONFIG_FILE_PATH)
CONFIG_PROPERTIES = {}
try:
with open(JSON_CONFIG_FILE_PATH) as data_file:
CONFIG_PROPERTIES = json.load(data_file)
except IOError as e:
print(e)
print("IOError: Unable to open config.json.")
exit(1)
print(CONFIG_PROPERTIES)
df = pd.read_json(path_or_buf=JSON_CONFIG_FILE_PATH)
df_items_normalized = jn(
data=df.orders, sep="_", record_path="items", meta=["error", "file", "order_id"]
)
# define parameters to save in csv
today = datetime.datetime.today().strftime("%Y_%m_%d")
path = "./" + today + ".csv"
# saving to csv
df_items_normalized.to_csv(path, index=False)
此行from pandas.io.json import json_normalize as jn
from this answer 。
我真的不明白為什么這個答案得到了否定點!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.