Pendahuluan
Pandas memungkinkan pengguna untuk dengan mudah mengimpor dan mengekspor data antar format, melakukan pra-pemrosesan, dan transformasi. Artikel ini menunjukkan cara mengimpor dan mengekspor berbagai data dengan Pandas.
Membaca File Data
Dalam bab ini, saya akan menjelajahi cara mengimpor data dari berbagai format file menggunakan pandas.
Mengimpor File CSV
File CSV (Comma Separated Values) banyak digunakan untuk menyimpan dan berbagi data tabel. Untuk mengimpor file CSV, Anda dapat menggunakan fungsi read_csv()
di pandas:
import pandas as pd
data = pd.read_csv('file.csv')
Anda juga dapat menentukan argumen tambahan, seperti delimiter, encoding, dan informasi header:
data = pd.read_csv('file.tsv', delimiter='\t', encoding='utf-8', header=0)
Mengimpor File Excel
Untuk mengimpor data dari file Excel, Anda dapat menggunakan fungsi read_excel()
. Pertama, Anda mungkin perlu menginstal paket openpyxl
jika Anda belum melakukannya:
$ pip install openpyxl
Kemudian, Anda dapat mengimpor file Excel seperti ini:
data = pd.read_excel('file.xlsx', sheet_name='Sheet1')
Mengimpor File JSON
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan yang mudah dibaca dan ditulis oleh manusia serta mudah diurai dan dihasilkan oleh mesin. Untuk mengimpor data JSON, gunakan fungsi read_json()
:
data = pd.read_json('file.json')
Anda juga dapat mengimpor data JSON dari URL atau string.
Mengimpor Data SQL
Pandas dapat berinteraksi dengan berbagai database SQL, seperti SQLite, MySQL, dan PostgreSQL. Untuk mengimpor data dari database SQL, Anda harus terlebih dahulu membuat koneksi ke database menggunakan library Python yang sesuai. Kemudian, gunakan fungsi read_sql()
untuk mengimpor data dari tabel atau query tertentu:
import sqlite3
import pandas as pd
connection = sqlite3.connect('database.db')
data = pd.read_sql('SELECT * FROM table_name', connection)
Jangan lupa untuk menutup koneksi setelah selesai:
connection.close()
Mengimpor Data dari Web API
Web API memungkinkan Anda mengakses data dari berbagai sumber online. Untuk mengimpor data dari web API, Anda dapat menggunakan library requests
untuk mengambil data dan kemudian mengonversinya menjadi DataFrame pandas:
import requests
import pandas as pd
response = requests.get('https://api.example.com/data')
data = response.json()
df = pd.DataFrame(data)
Mengimpor Data dari Format Lainnya
Pandas juga menyediakan fungsi untuk mengimpor data dari format lain, seperti tabel HTML, file Parquet, dan file HDF5. Misalnya, untuk mengimpor data dari tabel HTML, gunakan fungsi read_html()
:
data = pd.read_html('https://example.com/table.html')
Menulis File Data
Dalam bab ini, saya akan menjelajahi cara mengekspor DataFrame pandas ke berbagai format file, seperti CSV, Excel, JSON, dan database SQL.
Mengekspor ke File CSV
Untuk mengekspor DataFrame Anda ke file CSV, gunakan metode to_csv()
:
import pandas as pd
# Create a sample DataFrame
data = {'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']}
df = pd.DataFrame(data)
# Export DataFrame to a CSV file
df.to_csv('output.csv', index=False)
Anda juga dapat menentukan argumen tambahan, seperti delimiter, encoding, dan apakah ingin menyertakan indeks:
df.to_csv('output.tsv', sep='\t', encoding='utf-8', index=False)
Mengekspor ke File Excel
Untuk mengekspor DataFrame Anda ke file Excel, gunakan metode to_excel()
. Pertama, Anda mungkin perlu menginstal paket openpyxl
jika Anda belum melakukannya:
$ pip install openpyxl
Kemudian, Anda dapat mengekspor DataFrame Anda ke file Excel seperti ini:
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)
Mengekspor ke File JSON
Untuk mengekspor DataFrame Anda ke file JSON, gunakan metode to_json()
:
df.to_json('output.json', orient='records')
Anda dapat menentukan orientasi JSON menggunakan parameter orient
. Opsi yang tersedia adalah:
records
: Mengekspor DataFrame sebagai array objek JSON, di mana setiap objek mewakili baris dalam DataFrame.index
: Mengekspor DataFrame sebagai objek JSON, di mana kunci adalah label indeks dan nilai adalah data baris yang sesuai yang direpresentasikan sebagai array.columns
: Mengekspor DataFrame sebagai objek JSON, di mana kunci adalah nama kolom dan nilai adalah data kolom yang sesuai yang direpresentasikan sebagai array.values
: Mengekspor DataFrame sebagai array bertingkat, di mana setiap array dalamnya mewakili baris dalam DataFrame.
orient='records'
# Create a sample DataFrame
data = {'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']}
df = pd.DataFrame(data)
# Export DataFrame as an array of JSON objects (records)
df.to_json('output_records.json', orient='records')
[
{ "Column1": 1, "Column2": "A" },
{ "Column1": 2, "Column2": "B" },
{ "Column1": 3, "Column2": "C" }
]
orient='index'
# Export DataFrame as a JSON object with index labels as keys (index)
df.to_json('output_index.json', orient='index')
{
"0": { "Column1": 1, "Column2": "A" },
"1": { "Column1": 2, "Column2": "B" },
"2": { "Column1": 3, "Column2": "C" }
}
orient='columns'
# Export DataFrame as a JSON object with column names as keys (columns)
df.to_json('output_columns.json', orient='columns')
{
"Column1": { "0": 1, "1": 2, "2": 3 },
"Column2": { "0": "A", "1": "B", "2": "C" }
}
orient='values'
# Export DataFrame as a nested array (values)
df.to_json('output_values.json', orient='values')
[
[1, "A"],
[2, "B"],
[3, "C"]
]
Mengekspor ke Database SQL
Untuk mengekspor DataFrame Anda ke database SQL, Anda pertama-tama perlu membuat koneksi ke database menggunakan perpustakaan Python yang sesuai. Kemudian, gunakan metode to_sql()
untuk membuat tabel baru atau menambahkan data ke tabel yang ada:
import sqlite3
import pandas as pd
# Create a sample DataFrame
data = {'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']}
df = pd.DataFrame(data)
# Connect to the database
connection = sqlite3.connect('database.db')
# Export DataFrame to a new SQL table
df.to_sql('new_table', connection, if_exists='replace', index=False)
# Close the connection
connection.close()
Mengekspor ke Format Lain
pandas juga menyediakan metode untuk mengekspor data ke format lain, seperti tabel HTML, file Parquet, dan file HDF5. Misalnya, untuk mengekspor data ke tabel HTML, gunakan metode to_html()
:
df.to_html('output.html', index=False)