Есть ли в Google Colab Laboratory проблема read_csv с переадресацией URL? - PullRequest
0 голосов
/ 26 октября 2019

Открытие следующего CSV-файла с пандами в локальной записной книжке Jupyter на моем ноутбуке работает хорошо:

pd.read_csv('http://fonetik.fr/foo.csv')

Однако, когда я пытаюсь использовать ту же строку кода в записной книжке Google Colab, на ноутбуке отображаетсяследующая ошибка:

CertificateError                          Traceback (most recent call last)
<ipython-input-27-030762f24a0e> in <module>()

----> 1 df = pd.read_csv('http://fonetik.fr/foo.csv')
 /usr/lib/python3.6/ssl.py in match_hostname(cert, hostname)
   325         raise CertificateError("hostname %r "
   326             "doesn't match either of %s"
--> 327             % (hostname, ', '.join(map(repr, dnsnames))))
   328     elif len(dnsnames) == 1:
   329         raise CertificateError("hostname %r "

CertificateError: hostname 'fonétik.fr' doesn't match either of 'fonetik.fr', 'www.fonetik.fr', 'www.xn--fontik-dva.fr', 'xn--fontik-dva.fr'

Я только что проверил сертификат fonetik.fr , и он действителен. Таким образом, я не понимаю, почему Jupyter Colab вызывает эту ошибку. Может быть, из-за какого-то перенаправления между IDA-сервером и не IDA-сервером? Есть ли решение для решения этой проблемы?

Вы можете подумать, что я должен был сначала поместить файл foo.csv на Google Диск, чтобы не использовать его на стороннем сервере. Но я не могу использовать эту опцию, поскольку реальный файл foo.csv, который я хочу использовать, огромен и слишком велик для хранения на моем Google Диске.

Ответы [ 2 ]

1 голос
/ 26 октября 2019

иногда у меня та же проблема, поэтому я использую ее таким образом, что она делает слишком много (я знаю!), Но она работает, просто замените URL и переменные:

 DOWNLOAD_root="https://raw.githubusercontent.com/ageron/handson-ml2/master/"
 Housing_path=os.path.join("datasets","housing")
 Housing_url=DOWNLOAD_root + "datasets/housing/housing.tgz"
 def fetch_housing_data(housing_url=Housing_url, housing_path=Housing_path):
   if not os.path.isdir(housing_path):
     os.makedirs(housing_path)
 tgz_path=os.path.join(housing_path, "housing.tgz")
 urllib.request.urlretrieve(housing_url, tgz_path)
 housing_tgz = tarfile.open(tgz_path)
 housing_tgz.extractall(path=housing_path)
housing_tgz.close()
fetch_housing_data()
def load_housing_data(housing_path=Housing_path):
csv_path = os.path.join(housing_path, "housing.csv")
return pd.read_csv(csv_path)
0 голосов
/ 26 октября 2019

Я нашел следующее решение для Colab: !wget https://fonétik.fr/foo.csv pd.read_csv(foo.csv)

...