Json2xlsx
Создает новые Excel из данных json файлов (быстро). Путь к файлам запрашивает через диалоговое окноuser_2065311
python
8 months ago
3.4 kB
4
Indexable
Never
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}") '''
Leave a Comment