Apabila laluan HTTP memerlukan kawalan proksi yang jelas, dapatkan CSV dahulu dan biarkan pandas mengendalikan bait yang terhasil:

from io import BytesIO
import pandas as pd
import requests

route = {
    'http': 'http://proxy.example:8080',
    'https': 'http://proxy.example:8080',
}
with requests.get(
    'https://data.example/report.csv',
    proxies=route,
    timeout=(5, 30),
) as response:
    response.raise_for_status()
    frame = pd.read_csv(BytesIO(response.content), encoding='utf-8')

Proksi mengendalikan pengangkutan; senarai proksi HTTP membekalkan calon titik akhir untuk laluan HTTP awam. pandas menerima objek seperti fail dan menggunakan pilihan pemisah, lajur, pengekodan dan jenis data biasa.

Menyemak hasil HTTP sebelum penghuraian mengelakkan badan ralat HTTP yang jelas dianggap sebagai jadual. Periksa juga kandungan yang tidak dijangka: halaman log masuk atau dasar boleh memulangkan 200 dan masih HTML dan bukan CSV yang diminta.

Bagi URL HTTP, storage_options read_csv dihantar sebagai pengepala permintaan. Antara muka itu bukan pemetaan proxies gaya Requests.

Penampan tiada nama fail arkib untuk memandu inferens pemampatan. Nyatakan compression apabila muatan yang diperoleh memerlukannya. Susunan dapat-dahulu yang sama berfungsi dengan read_excel dan penampan bait, menggunakan enjin hamparan yang sesuai untuk format itu.

Contoh ini menyimpan keseluruhan respons dalam memori. Untuk eksport besar, strimkannya ke fail tempatan terurus dan huraikan fail itu, dengan pemecahan bahagian di mana aliran kerja data menyokongnya.

Artikel berkaitan