Traffine I/O

Bahasa Indonesia

2022-11-13

Mengimpor dan Mengekspor Data dengan Pandas

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:

python
import pandas as pd

data = pd.read_csv('file.csv')

Anda juga dapat menentukan argumen tambahan, seperti delimiter, encoding, dan informasi header:

python
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:

bash
$ pip install openpyxl

Kemudian, Anda dapat mengimpor file Excel seperti ini:

python
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():

python
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:

python
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:

python
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:

python
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():

python
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():

python
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:

python
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:

bash
$ pip install openpyxl

Kemudian, Anda dapat mengekspor DataFrame Anda ke file Excel seperti ini:

python
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():

python
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'

python
# 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'

python
# 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'

python
# 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'

python
# 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:

python
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():

python
df.to_html('output.html', index=False)

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!