对不起,如果这是多余的,但我已经很努力地寻找答案,但我一直无法找到一个。我很新,所以请耐心等待:Python无法读取我的CSV由于额外的回车
我的目标是通过一个csv完整的URL读取一段代码,并返回一个http状态码。我有Python 2.7.5。每行的结果会给我的网址和状态代码,如下所示:www.stackoverflow.com:200.
我的csv是单列csv充满了数百个网址,每行一个。我使用的代码在下面,当我运行这段代码时,它给了我一个分隔两个网址的代码:
{http://www.stackoverflow.com/test \ http://www.stackoverflow.com/questions/':404}
我想看到的是两个URL分离,每个都有自己的HTTP状态代码:
{ 'http://www.stackoverflow.com ':200,' http://www.stackoverflow.com/questions/':404}
但似乎有在Python读取csv时是额外的\ r,所以它不会正确读取url。我知道人们说strip()并不是一个包罗万象的刮水器,所以对于如何使这项工作做出任何建议将非常感激。
import requests
def get_url_status(url):
try:
r = requests.head(url)
return url, r.status_code
except requests.ConnectionError:
print "failed to connect"
return url, 'error'
results = {}
with open('url2.csv', 'rb') as infile:
for url in infile:
url = url.strip() # "http://datafox.co"
url_status = get_url_status(url)
results[url_status[0]] = url_status[1]
print results
这似乎与csv格式没有任何关系,但是如果您向我们展示您正在尝试阅读的实际文本文件的示例,它肯定会有所帮助。 – 2014-09-24 01:08:21
如果您正在读取CSV文件,请考虑使用python的csv模块,该模块将\ r作为新行字符正确对待。 https://docs.python.org/2/library/csv.html – 2014-09-24 02:20:24
嘿,那里,谢谢你的评论。我已经发现了这个问题 - 下次我一定要包含我指的实际文件的样本。再次感谢! – newbie68 2014-09-24 16:34:40