我在设置csv自动下载的方法时遇到了几个问题。这两个问题是在使用我得到的简单pandas read_csv(url(方法下载时出现SSL错误,所以我切换到使用请求并尝试解析响应。接下来的问题是,我在解析响应时遇到了一些错误。我不确定原因是否是URL实际上返回了一个zip文件,如果是这样,我该如何绕过它。
以下是URL:https://www.californiadgstats.ca.gov/download/interconnection_rule21_applications/这是代码:
import pandas as pd
import numpy as np
import os
import io
import requests
import urllib3
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL:@SECLEVEL=1'
url = "https://www.californiadgstats.ca.gov/download/interconnection_rule21_applications/"
res = requests.get(url).content
data = pd.read_csv(io.StringIO(res.decode('utf-8')))
如果内容是zip
格式,您应该解压缩它,并使用它的内容(csv,txt…(。
由于主机速度较低,我无法下载文件
这是我找到的答案,尽管我实际上不需要在本地保存这些文件,所以如果有人知道如何在不下载的情况下解析zip文件,那就太好了。也不确定为什么我在panda中出现SSL错误,但在请求中没有。。。
import requests
import zipfile
from io import BytesIO
url = "https://www.californiadgstats.ca.gov/download/interconnection_rule21_applications/"
pathSave = "C:/Users/wherever"
filename = url.split('/')[-1]
r = requests.get(url)
zipfile= zipfile.ZipFile(BytesIO(r.content))
zipfile.extractall(pathSave)