Встречается на 1% собеседований по Python
Как распарсить миллион файлов, в каждом из которых миллион строк
Для эффективного парсинга большого объема данных в Python используйте генераторы и ленивую загрузку, чтобы избежать перегрузки памяти. Вот пример с использованием glob и генераторов:
python
import glob
def parse_files(file_pattern):
for file_path in glob.glob(file_pattern):
with open(file_path, 'r') as f:
for line in f:
yield process_line(line) # Обработка строки
def process_line(line):
# Ваша логика обработки строки
return line.strip()
Использование
data_generator = parse_files('data/*.txt')
for item in data_generator:
process_item(item)
text
Ключевые моменты:
- Используйте `glob` для итерации по файлам
- Читайте файлы построчно (`for line in f`)
- Обрабатывайте данные потоково через генераторы (`yield`)
- Для ускорения можно использовать `multiprocessing` или `concurrent.futures` для параллельной обработки файлов
- Для сложных форматов рассмотрите `pandas.read_csv(chunksize=)` или `dask`
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы