對不起,如果這是多餘的,但我已經很努力地尋找答案,但我一直無法找到一個。我很新,所以請耐心等待: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