ขณะที่ผมแสดงความคิดเห็นที่คุณจำเป็นต้องใช้วัตถุ StringIO และถอดรหัสเช่นc=pd.read_csv(io.StringIO(s.decode("utf-8")))
ถ้าใช้การร้องขอคุณจะต้องถอดรหัสผลตอบแทน .content ไบต์ถ้าคุณใช้ .Text คุณก็จะต้องผ่าน s เป็นs = requests.get(url).text
c pd.read_csv(StringIO(s))
=
วิธีที่ง่ายกว่าคือการส่ง url ที่ถูกต้องของข้อมูลดิบไปยังโดยตรงread_csv
คุณไม่ต้องส่งไฟล์เช่น object คุณสามารถส่ง url ได้ดังนั้นคุณจึงไม่ต้องร้องขอเลย:
c = pd.read_csv("https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv")
print(c)
เอาท์พุต:
Country Region
0 Algeria AFRICA
1 Angola AFRICA
2 Benin AFRICA
3 Botswana AFRICA
4 Burkina AFRICA
5 Burundi AFRICA
6 Cameroon AFRICA
..................................
จาก เอกสาร :
filepath_or_buffer :
string หรือ file handle / StringIO สตริงอาจเป็น URL รูปแบบ URL ที่ถูกต้อง ได้แก่ http, ftp, s3 และไฟล์ สำหรับ URL ของไฟล์ควรมีโฮสต์ ตัวอย่างเช่นไฟล์ในเครื่องอาจเป็นไฟล์: //localhost/path/to/table.csv
c=pd.read_csv(io.StringIO(s.decode("utf-8")))
แต่คุณได้รับ html กลับไม่ใช่ไฟล์ csv ดังนั้นมันจะไม่ทำงาน