Параллельная обработка нескольких файлов .ndjson внутри файла .tar.gz.Python

Программы на Python
Ответить
Anonymous
 Параллельная обработка нескольких файлов .ndjson внутри файла .tar.gz.

Сообщение Anonymous »

У меня есть файл enwiktionary_namespace_0.tar.gz, который содержит 86 файлов .ndjson

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

enwiktionary_namespace_0_0.ndjson
enwiktionary_namespace_0_1.ndjson
enwiktionary_namespace_0_2.ndjson
...
enwiktionary_namespace_0_85.ndjson
Моя цель — параллельная обработка файлов .ndjson без их распаковки на диск. Каждый файл .ndjson будет обрабатываться построчно. Таким образом, проблема нехватки памяти не возникнет.
Если файл .tar.gz содержит один файл .ndjson, то решение из этого ответа:

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

# Source - https://stackoverflow.com/a/79811790
# Posted by furas, modified by community. See post 'Timeline' for change history
# Retrieved 2025-11-07, License - CC BY-SA 4.0

import tarfile
import json

with tarfile.open("data.tar.gz", "r:gz") as tar:

data_file = tar.extractfile("data.ndjson")

for json_line in data_file:
html = json.loads(json_line)
print("html:", html)
# html = process_htm(html)

Можно ли использовать приведенное выше решение для параллельной обработки нескольких файлов .ndjson внутри файла .tar.gz?


Подробнее здесь: https://stackoverflow.com/questions/798 ... ar-gz-file
Ответить

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

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

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

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

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