Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membaca Data Terus dari URL Menggunakan Panda?

Bagaimana untuk Membaca Data Terus dari URL Menggunakan Panda?

DDD
DDDasal
2024-11-04 10:40:30358semak imbas

How to Read Data Directly from a URL Using Pandas?

Teka-teki Read-All-URL

Satu tugas biasa dalam analisis data ialah memuatkan data daripada URL. Pandas, perpustakaan Python yang popular untuk manipulasi data, menyediakan fungsi read_csv yang membolehkan seseorang membaca data daripada fail CSV yang terletak dalam laluan fail atau sebagai objek seperti fail. Walau bagaimanapun, cubaan menghantar terus URL ke read_csv boleh mengakibatkan ralat.

Memahami Ralat

Untuk menunjukkan ralat ini, mari kita pertimbangkan contoh yang diberikan dalam soalan:

<code class="python">import pandas as pd
import requests

url = "https://github.com/cs109/2014_data/blob/master/countries.csv"
s = requests.get(url).content
c = pd.read_csv(s)</code>

Kod ini cuba mendapatkan semula fail CSV daripada URL yang diberikan menggunakan perpustakaan permintaan dan kemudian menghantar kandungan yang diambil sebagai objek seperti fail kepada read_csv. Walau bagaimanapun, ini akan menimbulkan ralat:

Expected file path name or file-like object, got <class 'bytes'> type

Menyelesaikan Isu

Untuk menyelesaikan ralat ini, kami perlu memastikan bahawa kami menghantar objek seperti fail kepada read_csv. Dalam Python, terdapat dua jenis utama objek seperti fail: fail teks dan fail binari. Contoh yang diberikan dalam soalan melepasi tatasusunan bait yang diambil daripada URL, iaitu fail binari. Read_csv menjangkakan objek fail teks, yang boleh diperolehi dengan menyahkod tatasusunan bait:

<code class="python">import pandas as pd

url = "https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv"
c = pd.read_csv(url, encoding="utf-8")</code>

Dengan menentukan pengekodan sebagai "utf-8," kami mentafsir tatasusunan bait sebagai fail teks. Ini membolehkan read_csv berjaya memuatkan data daripada URL.

Kesederhanaan yang Dipertingkatkan dengan Pandas 0.19.2

Dalam versi terkini panda (0.19.2), terdapat penyelesaian yang lebih mudah. Pandas kini membenarkan pembacaan terus daripada URL:

<code class="python">import pandas as pd

url = "https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv"
c = pd.read_csv(url)</code>

Ini menghapuskan keperluan untuk operasi tambahan seperti mendapatkan semula kandungan dan menyahkodnya, menjadikan proses lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Data Terus dari URL Menggunakan Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn