Mengimpor File Excel dengan readxl
Baca lembar .xls dan .xlsx dengan opsi pemilihan lembar serta rentang sel.
Mengimpor File Excel dengan readxl adalah pelajaran R Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar R Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus R Academy mencakup 4 pelajaran total.
Mengapa Menggunakan readxl untuk File Excel?
File Excel (.xlsx dan .xls) sangat umum digunakan dalam lingkungan bisnis. Paket readxl dapat membacanya tanpa perlu memasang Excel dan tanpa dependensi Java. Paket ini mengembalikan tibble serta menangani banyak lembar, rentang bernama, dan deteksi tipe sel.
library(readxl)
# readxl can read:
# .xlsx - modern Excel format (XML-based)
# .xls - older Excel format (binary)
# .xlsm - Excel with macros (reads data, ignores macros)
# Core functions:
# read_excel() - auto-detects .xls vs .xlsx
# read_xlsx() - always reads as .xlsx
# read_xls() - always reads as .xls
# excel_sheets() - lists all sheet names
cat('readxl requires no Java, no Excel installation!')excel_sheets() — Mencantumkan Semua Lembar
excel_sheets('file.xlsx') mengembalikan vektor karakter yang berisi semua nama lembar. Gunakan fungsi ini sebelum membaca untuk memeriksa struktur buku kerja, lalu teruskan nama lembar ke read_excel().
library(readxl)
# Using readxl's built-in example file
path <- readxl_example('datasets.xlsx')
# List all sheets in the workbook
sheets <- excel_sheets(path)
print(sheets)
cat('\nNumber of sheets:', length(sheets))read_excel() — Penggunaan Dasar
read_excel(path) secara bawaan membaca lembar pertama. Fungsi ini secara otomatis mendeteksi apakah file berformat .xls atau .xlsx. Hasilnya berupa tibble dengan tipe kolom yang diperkirakan dari data.
library(readxl)
path <- readxl_example('datasets.xlsx')
# Read the first sheet (default)
df <- read_excel(path)
print(head(df, 4))
cat('\nDimensions:', nrow(df), 'rows x', ncol(df), 'cols')Argumen sheet — Memilih Berdasarkan Nama atau Indeks
Gunakan sheet='Sheet1' untuk memilih berdasarkan nama atau sheet=2 untuk memilih berdasarkan posisi (dengan indeks dimulai dari 1). Keduanya valid. Menggunakan nama lebih tangguh jika urutan lembar berubah; menggunakan indeks lebih praktis untuk iterasi.
library(readxl)
path <- readxl_example('datasets.xlsx')
sheets <- excel_sheets(path)
print(sheets)
# Read by name
df_name <- read_excel(path, sheet = 'iris')
cat('iris sheet rows:', nrow(df_name), '\n')
# Read by index
df_idx <- read_excel(path, sheet = 2)
cat('Sheet 2 rows:', nrow(df_idx))range — Membaca Rentang Sel
range='A1:D10' hanya membaca rentang sel yang ditentukan dalam notasi Excel. Ini berguna ketika lembar kerja berisi beberapa tabel, memiliki batas pemformatan, atau memiliki metadata di luar area data yang diperlukan.
library(readxl)
path <- readxl_example('datasets.xlsx')
# Read only the first 5 data rows of columns A-D
df <- read_excel(path, sheet='iris', range='A1:D6')
print(df)
cat('\nShape:', nrow(df), 'rows,', ncol(df), 'cols')col_names — Nama Kolom Kustom
Tetapkan col_names=FALSE untuk melewati baris tajuk dan memberi nama kolom secara otomatis. Teruskan vektor karakter ke col_names untuk menggunakan nama kustom (dan melewati baris tajuk). Gabungkan dengan skip jika tajuk berada di baris lain.
library(readxl)
path <- readxl_example('datasets.xlsx')
# Read with custom column names (skip original header)
df <- read_excel(
path,
sheet = 'iris',
col_names = c('sepal_l','sepal_w','petal_l','petal_w','species'),
skip = 1 # Skip the original header row
)
print(head(df, 3))
print(names(df))Argumen skip — Melewati Baris Metadata
skip=n melewati n baris pertama lembar sebelum pembacaan dimulai. Ini berguna ketika lembar kerja memiliki judul laporan, tanggal pembuatan, atau metadata lain di atas tabel data sebenarnya.
library(readxl)
# Simulating a sheet with metadata rows (using a range instead)
path <- readxl_example('datasets.xlsx')
# Skip first row (pretend it has a title)
# and read only first 5 data rows
df <- read_excel(
path,
sheet = 'chickwts',
skip = 1, # Skip first data row
col_names = FALSE # Row 2 has no header now
)
print(head(df, 4))col_types — Menentukan Tipe Kolom
Gunakan col_types untuk mengganti perkiraan tipe. Tipe yang valid: 'text', 'numeric', 'date', 'logical', 'skip' (menghapus kolom), dan 'list' (untuk kolom dengan tipe campuran).
library(readxl)
path <- readxl_example('datasets.xlsx')
# Read with explicit column types
# iris sheet: 4 numeric + 1 text
df <- read_excel(
path,
sheet = 'iris',
col_types = c('numeric','numeric','numeric','numeric','text')
)
print(sapply(df, class))Membaca Semua Lembar dengan map()
Gabungkan excel_sheets() dengan purrr::map() untuk membaca semua lembar sekaligus ke dalam daftar bernama. Setiap elemen daftar merupakan tibble untuk lembar tersebut. Gunakan map_df(.id='sheet') untuk menggabungkan baris dari semua lembar.
library(readxl)
library(purrr)
path <- readxl_example('datasets.xlsx')
sheets <- excel_sheets(path)
# Read all sheets into a named list
all_data <- map(sheets, ~read_excel(path, sheet=.x))
names(all_data) <- sheets
# Show dimensions of each sheet
map_df(all_data, function(df) {
data.frame(rows=nrow(df), cols=ncol(df))
}, .id='sheet')n_max — Membatasi Jumlah Baris yang Dibaca
n_max=n membaca paling banyak n baris data (tidak termasuk tajuk). Gunakan ini untuk melihat pratinjau lembar kerja besar, memuat sampel untuk pengujian, atau membaca data dalam beberapa bagian pada lingkungan dengan memori terbatas.
library(readxl)
path <- readxl_example('datasets.xlsx')
# Preview just the first 5 rows
preview <- read_excel(path, sheet='iris', n_max=5)
print(preview)
cat('\nPreviewed', nrow(preview), 'of', nrow(read_excel(path, sheet='iris')), 'rows')Argumen na — String Nilai yang Hilang
Seperti readr, readxl menerima argumen na yang menentukan string teks mana yang harus dibaca sebagai NA. Excel sering menyimpan nilai yang hilang sebagai sel kosong (ditangani secara otomatis) atau string penanda seperti 'N/A' atau '#N/A'.
library(readxl)
path <- readxl_example('datasets.xlsx')
# Handle Excel error strings and custom NA markers
# In real files these might be '#N/A', '#VALUE!', 'N/A', '-'
df <- read_excel(
path,
sheet = 'iris',
na = c('', 'NA', 'N/A', '#N/A', '-')
)
cat('Missing values per column:\n')
print(colSums(is.na(df)))Pemeriksaan Singkat
Apa yang dikembalikan oleh excel_sheets('file.xlsx')?
Ringkasan: Mengimpor File Excel
Inti pembelajaran untuk impor Excel dengan readxl:
excel_sheets(path)— mencantumkan semua nama lembarread_excel(path)— membaca lembar pertama; otomatis mendeteksi .xls/.xlsxsheet='Name'atausheet=2— memilih lembar berdasarkan nama atau indeksrange='A1:D10'— membaca rentang sel tertentucol_names, skip— menangani baris metadata dan header khususcol_types = c('text','numeric','date','skip')— mengganti perkiraan tipen_max=5— melihat pratinjau file besar;na=c('N/A','#N/A')— string NA khusus- Gabungkan dengan
map(excel_sheets(path), ~read_excel(path, sheet=.x))untuk semua lembar
library(readxl)
library(purrr)
path <- readxl_example('datasets.xlsx')
# Full workflow: discover, select, read
cat('Sheets available:', paste(excel_sheets(path), collapse=', '), '\n\n')
# Read a specific sheet with explicit types
df <- read_excel(
path,
sheet = 'iris',
col_types = c('numeric','numeric','numeric','numeric','text'),
n_max = 5
)
print(df)Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengimpor File Excel dengan readxl” gratis?
Ya — teks lengkap “Mengimpor File Excel dengan readxl” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus R Academy, upgrade ke CoddyKit PRO. Kursus R Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengimpor File Excel dengan readxl”?
Baca lembar .xls dan .xlsx dengan opsi pemilihan lembar serta rentang sel. Kamu berlatih R Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai R Academy?
Tidak diperlukan pengalaman sebelumnya. R Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Mengimpor File Excel dengan readxl” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran R Academy ini?
Ya. Setiap pelajaran R Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membaca File CSV dengan read_csv()
- Mengurai File TSV dan Lebar Tetap
- Mengimpor File Excel dengan readxl
- Menulis Data ke Berbagai Format