Как я могу повысить производительность моего скрипта Python для обработки больших файлов JSON?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу повысить производительность моего скрипта Python для обработки больших файлов JSON?

Сообщение Anonymous »

Я работаю над сценарием Python, который обрабатывает большие файлы JSON (~ 500 МБ) для извлечения определенных данных и сохранения их в формате CSV. Скрипт работает, но медленно, особенно для файлов с вложенными объектами JSON. Вот упрощенная версия моего кода:

Код: Выделить всё

import json
import csv

def process_json(file_path):
with open(file_path, 'r') as json_file:
data = json.load(json_file)

with open('output.csv', 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
writer.writerow(['field1', 'field2', 'field3'])

for record in data:
writer.writerow([record['field1'], record['field2'], record['field3']])

process_json('large_file.json')
Я пробовал использовать json.load(), а затем перебирать данные, но, похоже, это требует много памяти и времени. Я наткнулся на iterparse модуля json, но не знаю, как применить его в своем варианте использования.
Мои вопросы:
  • Есть ли более эффективный с точки зрения использования памяти способ обработки больших файлов JSON в Python?
  • Будут ли такие библиотеки, как pandas или ujson обеспечивает значительный выигрыш в производительности для этой задачи?
  • Как более эффективно обрабатывать вложенные объекты JSON при записи в CSV?
Среда:
  • Python 3.10
  • Windows 11


Подробнее здесь: https://stackoverflow.com/questions/792 ... large-json
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»