Fundamental Series — Part 12 of 20
Sebelum analisis, data harus di-load. Python punya banyak cara membaca berbagai format file menggunakan pandas, polars, dan library lainnya.
CSV — Pandas
import pandas as pd
# Import
df = pd.read_csv("data/input.csv")
# Import dengan opsi
df = pd.read_csv("data/input.csv",
sep=";", # delimiter
encoding="utf-8",
skiprows=1, # skip baris pertama
na_values=["", ".", "NA"],
dtype={"id": int}
)
# Export
df.to_csv("data/output.csv", index=False)CSV — Polars
import polars as pl
# Import
df = pl.read_csv("data/input.csv")
# Import dengan opsi
df = pl.read_csv("data/input.csv",
separator=";",
null_values=["", ".", "NA"],
dtypes={"id": pl.Int64}
)
# Export
df.write_csv("data/output.csv")
TipPolars Lebih Cepat
Untuk file besar, polars bisa 10x lebih cepat dari pandas karena menggunakan Rust di belakang layar.
Excel
# Pandas
df = pd.read_excel("data/input.xlsx")
df = pd.read_excel("data/input.xlsx", sheet_name="Sheet2")
# Export
df.to_excel("data/output.xlsx", index=False)
# Polars
df = pl.read_excel("data/input.xlsx")Stata, SPSS, SAS
# Stata
df = pd.read_stata("data/input.dta")
df.to_stata("data/output.dta")
# SPSS (perlu pyreadstat)
df = pd.read_spss("data/input.sav")
# Polars: convert via pandas
df_pd = pd.read_stata("data/input.dta")
df_pl = pl.from_pandas(df_pd)Parquet — Format Modern
# Pandas
df = pd.read_parquet("data/input.parquet")
df.to_parquet("data/output.parquet")
# Polars
df = pl.read_parquet("data/input.parquet")
df.write_parquet("data/output.parquet")
CatatanKenapa Parquet?
Parquet adalah format columnar yang sangat efisien — file kecil, baca cepat, dan menyimpan tipe data. Ideal untuk data intermediate.
JSON
import json
# Standard library
with open("data/input.json") as f:
data = json.load(f)
# Pandas
df = pd.read_json("data/input.json")
df.to_json("data/output.json", orient="records")
# Polars
df = pl.read_json("data/input.json")Pickle (Python native)
import pickle
# Simpan objek Python apapun
with open("data/model.pkl", "wb") as f:
pickle.dump(obj, f)
# Baca kembali
with open("data/model.pkl", "rb") as f:
obj = pickle.load(f)
# Pandas shortcut
df.to_pickle("data/df.pkl")
df = pd.read_pickle("data/df.pkl")Clipboard & URL
# Dari clipboard
df = pd.read_clipboard()
# Dari URL
df = pd.read_csv("https://example.com/data.csv")
df = pl.read_csv("https://example.com/data.csv")Latihan
BahayaLatihan 12.1
import pandas as pd
# 1. Buat DataFrame:
df = pd.DataFrame({
"nama": ["Andi", "Budi", "Citra"],
"nilai": [85, 90, 78],
"lulus": [True, True, False]
})
# 2. Simpan sebagai CSV, baca kembali. Cek dtypes
# 3. Simpan sebagai Parquet, baca kembali. Cek dtypes
# 4. Bandingkan — apakah tipe kolom "lulus" sama?Ringkasan
| Format | Pandas | Polars |
|---|---|---|
| CSV | read_csv() / to_csv() |
read_csv() / write_csv() |
| Excel | read_excel() / to_excel() |
read_excel() |
| Stata | read_stata() / to_stata() |
via pandas |
| Parquet | read_parquet() / to_parquet() |
read_parquet() / write_parquet() |
| JSON | read_json() / to_json() |
read_json() |
Sebelumnya: Part 11 — Package & Library Selanjutnya: Part 13 — Manipulasi Data I: Filter & Select