https://arsalanse.ir
جست و جو یک فیلد خاص در تعداد زیادی فایل json حجیم

سناریو از این قرار هست که چندین فایل حجیم json بهمون میدن و قراره تک تک این فایل ها رو با ز کنیم، سطر به سطر جدا کنیم (هر سطر یه ابجکت json) و بیایم یه فیلد خاص رو بررسی کنیم که کلمه مورد نظر ما داخلش هست یا نه
برای اینکار اول از همه باید بیام فایل های json رو لیست کنم:
import os
PATH = "/home/my_jsons"
with os.scandir(PATH) as entries:
for entry in entries:
passاین روش مدرنی هست که از پایتون ۳.۵ معرفی شده (PEP 471)
برای باز کردن هر فایل و خوندن خط به خط اونها از این روش استفاده کردم:
with open(entry, 'r') as read_file:
for index, line in enumerate(read_file):
data_dict = json.loads(line)
fild_1 = data_dict["fild_1"]
if KEY_WORD in link:
passحالا اینجا یه تابع readrows داریم که اگه استفاده میکردم میخواست تمام سطر هارو همون لحظه به لیست تبدیل کنه و باعث انفجار از ناحیه رم می شدیم!
اما اگه بیایم سطر به سطر بررسی رو جلو ببریم باعث میشه این مشکل کمی هندل بشه
مرحله آخر ذخیره نتایج هست:
with open('res.csv', 'w') as result_file:
writer = csv.writer(result_file)
writer.writerow(["counter", "fild_1", "entry.name", "index"])
writer.writerow([counter, fild_1, entry.name, index])نتیجه نهایی روی گیتهاب:
اگه موردی هست که براتون سوال ایجاد کرده خوشحال میشم برام تو نظرات این پست بنویسید ?
تامام./
مطلبی دیگر از این انتشارات
? بات تلگرام برای مانیتور و گزارش وضعیت داکر کانتینرها
مطلبی دیگر از این انتشارات
لغو قانون تغییر ساعت رسمی، چک کردن tzdata تمام سرور ها با انسیبل
مطلبی دیگر از این انتشارات
افزایش سرعت CoreDNS کوبرنیتز با یک نقطه (.)!☸️