Mengambil data dari beberapa worksheet

Pemasukan Data yang Efisien dengan pandas

Amany Mahfouz

Instructor

Memilih Sheet untuk Dimuat

  • read_excel() memuat sheet pertama secara default
  • Gunakan argumen sheet_name untuk memuat sheet lain
  • Tentukan sheet berdasarkan nama dan/atau posisi (indeks mulai 0)
  • Beri daftar nama/nomor untuk memuat beberapa sheet sekaligus
  • Argumen ke read_excel() berlaku untuk semua sheet yang dibaca
Pemasukan Data yang Efisien dengan pandas

Memilih Sheet untuk Dimuat

Tangkapan layar program spreadsheet, menampilkan tab untuk dua spreadsheet

Pemasukan Data yang Efisien dengan pandas

Memuat Sheet Tertentu

# Ambil sheet kedua berdasarkan indeks posisi
survey_data_sheet2 = pd.read_excel('fcc_survey.xlsx',
                                   sheet_name=1)

# Ambil sheet kedua berdasarkan nama survey_data_2017 = pd.read_excel('fcc_survey.xlsx', sheet_name='2017')
print(survey_data_sheet2.equals(survey_data_2017))
True
Pemasukan Data yang Efisien dengan pandas

Memuat Semua Sheet

  • Mengisi sheet_name=None ke read_excel() akan membaca semua sheet dalam workbook
survey_responses = pd.read_excel("fcc_survey.xlsx", sheet_name=None)

print(type(survey_responses))
<class 'collections.OrderedDict'>
for key, value in survey_responses.items():
    print(key, type(value))
2016 <class 'pandas.core.frame.DataFrame'>
2017 <class 'pandas.core.frame.DataFrame'>
Pemasukan Data yang Efisien dengan pandas

Menggabungkan Semuanya

# Buat dataframe kosong untuk menampung semua sheet yang dimuat
all_responses = pd.DataFrame()

# Iterasi dataframe dalam dictionary for sheet_name, frame in survey_responses.items(): # Tambah kolom agar tahu tahun asal data frame["Year"] = sheet_name
# Tambahkan dataframe ke all_responses all_responses = pd.concat([all_responses, frame])
# Lihat tahun dalam data print(all_responses.Year.unique())
['2016' '2017']
Pemasukan Data yang Efisien dengan pandas

Ayo berlatih!

Pemasukan Data yang Efisien dengan pandas

Preparing Video For Download...