فایلهای داده
چرا این فرمتها؟
JSON،CSVوXMLسه فرمت پرکاربرد برای ذخیره و تبادل داده هستن — فایلهای متنی سادهای که پایتون خودش ماژول آماده براشون داره- برای فایلهای جدولی حجیمتر (CSV، Excel) کار کردن دستی با
open()دستوپاگیر میشه؛ اونجا کتابخونهیpandasبه کمک میاد
JSON
خواندن فایل JSON
- خروجی معمولاً یک
dictیاlistپایتونیه
نوشتن فایل JSON
ensure_ascii=False: حروف فارسی درست نوشته بشن، نه بهصورت کد یونیکدindent=2: خروجی مرتب و خوانا باشه
تبدیل رشته JSON به دیتای پایتون (و برعکس)
CSV (با ماژول استاندارد)
خواندن فایل CSV
نوشتن فایل CSV
newline='': جلوی افتادن یک خط خالی اضافه بین ردیفها رو میگیره
XML
خواندن فایل XML
فرض کنیم فایل به این شکله:
ساخت و نوشتن فایل XML
pandas
pandasداده رو بهصورت جدول (DataFrame) میاره که کار باهاش خیلی راحتتر از کار دستی باcsvهست، مخصوصاً وقتی حجم داده بالا بره یا نیاز به فیلتر/تحلیل داشته باشیم
نصب و وارد کردن
openpyxlبرای خواندن/نوشتن فایلهای Excel لازمه (pandas از پشت صحنه ازش استفاده میکنه)
خواندن فایل CSV
- خروجی از نوع
DataFrameهست — شبیه یک جدول اکسل
خواندن فایل Excel
- اگه فایل چند شیت داشته باشه، میشه شیت رو مشخص کرد:
نگاه سریع به داده
| متد | کار |
|---|---|
df.head() |
نمایش ۵ ردیف اول |
df.shape |
تعداد (ردیف, ستون) |
df.columns |
لیست نام ستونها |
df.info() |
نوع داده هر ستون + تعداد مقادیر |
دسترسی به داده
فیلتر کردن داده
نوشتن در فایل
index=False: ستون اندیس اضافه (0,1,2,…) توی فایل خروجی نوشته نشه
ساخت DataFrame
مقایسه سریع
| فرمت | مناسب برای | روش پیشنهادی |
|---|---|---|
| JSON | دادههای تودرتو (شیء/آرایه)، تنظیمات، API | ماژول json |
| CSV ساده | دادههای جدولی کوچک، بدون نیاز به تحلیل | ماژول csv |
| CSV / Excel حجیم | دادههای جدولی بزرگ، نیاز به فیلتر و تحلیل | pandas |
| XML | دادههای ساختیافته با تگ، فایلهای قدیمیتر | xml.etree.ElementTree |