Seperti yang saya komentari Anda perlu menggunakan objek StringIO dan decode yaitu c=pd.read_csv(io.StringIO(s.decode("utf-8")))
jika menggunakan permintaan, Anda perlu mendekode sebagai. Konten mengembalikan byte jika Anda menggunakan. Teks Anda hanya perlu melewati s seperti s = requests.get(url).text
c = pd.read_csv(StringIO(s))
.
Pendekatan yang lebih sederhana adalah dengan meneruskan url yang benar dari data mentah secara langsung ke read_csv
, Anda tidak harus meneruskan file seperti objek, Anda dapat meneruskan url sehingga Anda tidak memerlukan permintaan sama sekali:
c = pd.read_csv("https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv")
print(c)
Keluaran:
Country Region
0 Algeria AFRICA
1 Angola AFRICA
2 Benin AFRICA
3 Botswana AFRICA
4 Burkina AFRICA
5 Burundi AFRICA
6 Cameroon AFRICA
..................................
Dari dokumen :
filepath_or_buffer :
string atau file handle / StringIO String itu bisa berupa URL. Skema URL yang valid termasuk http, ftp, s3, dan file. Untuk URL file, sebuah host diharapkan. Misalnya, file lokal dapat berupa file: //localhost/path/to/table.csv
c=pd.read_csv(io.StringIO(s.decode("utf-8")))
tetapi Anda mendapatkan html kembali bukan file csv sehingga tidak akan berfungsi