如何为 Pandas pd.read_csv 设置代理

Posted

技术标签:

【中文标题】如何为 Pandas pd.read_csv 设置代理【英文标题】:How to set proxy for Pandas pd.read_csv 【发布时间】:2018-12-21 20:38:38 【问题描述】:

我有一个 python 脚本,它通过 https 从服务器加载一个 csv 文件。我支持公司代理,因此我需要向脚本提供该信息。

proxy_dict = "https://user:password@10.10.1.1:8080"

所有值都更改为正确。

使用

print(requests.get(my_url, proxies=proxy_dict).text[:1000]

按预期工作。

我想使用 pandas.read_csv,它没有代理参数。

如何为 pandas 设置代理?可以作为变量,也可以作为内核,或者系统范围,只要只有 Python 受到影响。

在 Windows 7 x64 上运行 Anaconda 3.6.3 x64。

谢谢!

【问题讨论】:

【参考方案1】:

此外,您还需要执行以下操作: proxy_dict = dict("https://user:password@10.10.1.1:8080")

【讨论】:

"ValueError: 字典更新序列元素 #0 的长度为 1;需要 2" 这可能有效:proxy_dict = "anything" : "user:password@10.10.1.1:8080"【参考方案2】:

也许您可以使用 io.StringIO 从字符串中读取 csv。

请看答案:Pandas read_csv from url

import io

s = requests.get(my_url, proxies=proxy_dict).text

df = pd.read_csv(io.StringIO(s))

【讨论】:

以上是关于如何为 Pandas pd.read_csv 设置代理的主要内容,如果未能解决你的问题,请参考以下文章

pandas 修改列名

Pandas总结第二节 Pandas 的数据读取_pd.read_csv()的使用详解(非常全面,推荐收藏)

Pandas读取csv时设置列名

pandas

pandas—总结 数据读写

pandas实践