خواندن داده از منابع مختلف

خواندن داده از فایل CSV و JSON با pandas، خواندن از پایگاه داده SQL و API وب؛ ذخیره خروجی در فرمت‌های مختلف

داده از کجا می‌آید؟

اولین قدم هر پروژه علم داده، رساندن داده به پایتون است. داده‌ها در قالب‌های مختلفی زندگی می‌کنند:

خواندن فایل CSV

CSV (مقادیر جداشده با کاما) رایج‌ترین فرمت تبادل داده است. هر سطر یک رکورد و مقادیر با کاما جدا می‌شوند:

name,age,city
سارا,25,تهران
امیر,32,شیراز

خواندن با pandas فقط یک خط است:

import pandas as pd
df = pd.read_csv("customers.csv")

پارامترهای پرکاربرد:

خواندن فایل JSON

JSON فرمت استاندارد APIهای وب است؛ داده به‌صورت جفت کلید-مقدار:

df = pd.read_json("data.json")

و در پایتون خالص با ماژول داخلی json:

import json
with open("data.json", encoding="utf-8") as f:
    data = json.load(f)

خواندن از پایگاه داده SQL

در سازمان‌ها داده عمدتاً در پایگاه داده است. با pandas مستقیم از SQL می‌خوانیم:

import sqlite3

conn = sqlite3.connect("shop.db")
df = pd.read_sql("SELECT * FROM orders", conn)

نکته مهم: اگر می‌توانید فیلتر را در خود SQL انجام دهید (WHERE، GROUP BY)، بهتر است؛ چون پایگاه داده برای این کار بهینه‌شده است.

خواندن از API وب

بسیاری از سرویس‌ها داده را از طریق API ارائه می‌دهند. الگوی کلی:

import requests

response = requests.get("https://api.example.com/data")
data = response.json()   # تبدیل پاسخ به دیکشنری
df = pd.DataFrame(data["results"])

ذخیره خروجی

پس از پاک‌سازی، نتیجه را ذخیره می‌کنیم:

df.to_csv("clean_data.csv", index=False, encoding="utf-8")
df.to_json("clean_data.json", force_ascii=False)

پارامتر index=False جلوی ذخیره اندیس اضافی را می‌گیرد.

منبعابزارنکته
CSVpd.read_csvencoding برای فارسی
Excelpd.read_excelنیازمند نصب openpyxl
JSONpd.read_jsonساختار تودرتو را بررسی کنید
SQLpd.read_sqlفیلتر را در SQL انجام دهید
APIrequests + jsonمحدودیت نرخ درخواست را رعایت کنید
هشدار: برای فایل‌های فارسی همیشه encoding="utf-8" بدهید؛ وگرنه با خطای UnicodeDecodeError یا متن به‌هم‌ریخته مواجه می‌شوید.

جمع‌بندی

این مبحث بخشی از دوره آموزش کامل علم داده است.

ابزارهای مرتبط