Json2xlsx
Создает новые Excel из данных json файлов (быстро). Путь к файлам запрашивает через диалоговое окноuser_2065311
python
2 years ago
3.4 kB
10
Indexable
import pandas as pd
import json
import os
import tkinter as tk
from tkinter import filedialog
def process_json_file(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
json_data = json.load(file)
for entry in json_data:
for key in ['purpose', 'right', 'address']:
if key in entry and isinstance(entry[key], dict):
for subkey, value in entry[key].items():
entry[f"{key}_{subkey}"] = value
del entry[key]
df = pd.DataFrame(json_data)
return df
def main():
root = tk.Tk()
root.withdraw()
folder_path = filedialog.askdirectory(title="Выберите папку с JSON файлами")
if not folder_path:
return
for filename in os.listdir(folder_path):
if filename.lower().endswith('.json'):
file_path = os.path.join(folder_path, filename)
df = process_json_file(file_path)
excel_path = os.path.splitext(file_path)[0] + '.xlsx'
df.to_excel(excel_path, index=False)
print(f"Данные сохранены в файл: {excel_path}")
if __name__ == "__main__":
main()
===============
# скрипт попроще, без диалогового окна и без массовой обработки файлов. Также нужно заранее создать файл Excel в которой будет записывать результат, все в ручном режиме
'''
import pandas as pd
import json
# Путь к вашему JSON файлу
file_path = '/Users/wl/Desktop/json/oks_ds2-region-52-page-1.json'
# Чтение файла JSON
with open(file_path, 'r', encoding='utf-8') as file:
json_data = json.load(file)
# Обработка вложенных структур
for entry in json_data:
for key in ['purpose', 'right', 'address']:
if key in entry and isinstance(entry[key], dict):
for subkey, value in entry[key].items():
entry[f"{key}_{subkey}"] = value
del entry[key]
# Преобразование данных JSON в DataFrame
df = pd.DataFrame(json_data)
# Сохранение DataFrame в файл Excel (вместо CSV)
excel_path = '/Users/wl/Desktop/json/oks_data.xlsx'
df.to_excel(excel_path, index=False)
print(f"Данные сохранены в файл: {excel_path}")
'''
=========
# самая первая попытка написания скрипта конвертирует дополнительно ещё в csv остается много лично
'''
import pandas as pd
import json
# Путь к вашему JSON файлу
file_path = '/Users/wl/Desktop/json/parcels_ds3-region-52-page-1.json'
# Чтение файла JSON
with open(file_path, 'r', encoding='utf-8') as file:
json_data = json.load(file)
# Преобразование данных JSON в DataFrame
df = pd.DataFrame(json_data)
# Сохранение DataFrame в файл CSV
csv_path = '/Users/wl/Desktop/json/parcels_data.csv'
df.to_csv(csv_path, index=False)
# Сохранение DataFrame в файл Excel
excel_path = '/Users/wl/Desktop/json/parcels_data.xlsx'
df.to_excel(excel_path, index=False)
print(f"Данные сохранены в файлы: {csv_path} и {excel_path}")
'''Editor is loading...
Leave a Comment