2017-08-31 86 views
-1
import urllib request 
import requests 

goog_url = "https://query1.finance.yahoo.com/v7/finance/download/GOOG?period1=1501517722&period2=1504196122&interval=1d&events=history&crumb=bU42Yaj88Bt" 

def download_stock_data(csv_url): 
response = ur.urlopen(csv_url) 
csv = response.read() 
csv_str = str(csv) 
lines = csv_str.split("\\n") 
dest_url = r'goog.csv' 
fx = open(dest_url, "w") 
for line in lines: 
    fx.write(line + "\n") 
fx.close() 

download_stock_data(goog_url) 

我试图用这段代码从互联网上导入一个CSV文件。但是,尽管我尽了最大的努力,但我仍继续得到一个语法错误,指出它找不到urllib导入的请求模块。导入urllib模块“请求”错误

File "/Users/Micmaster/PycharmProjects/pythonProject/firstProject.py", line 1 
import urllib request 
        ^
SyntaxError: invalid syntax 

我已经尝试了许多不同的变化"from urllib import request", "import urllib.request", "import urllib", "import urllib2.request",甚至改变了我对pycharm翻译的版本。任何帮助将不胜感激,谢谢!

+0

您的身份全部错误。请修复它。 – litelite

+0

这个问题是由于无法再现的问题或简单的印刷错误造成的。虽然类似的问题可能在这里讨论,但这个问题的解决方式不太可能有助于未来的读者。这通常可以通过识别并密切检查在发布之前重现问题所需的最短程序来避免。 –

+0

将这个'import urllib request'替换为'import urllib.request ' –

回答

0

我会写关于python2的。

你为什么试图从urllib包中导入请求的python或object,当这个包没有它的时候。

并在下一行导入请求。所以使用请求。

我不知道你为什么需要urllib,但将import urllib request更改为import urllib as ur

+0

“我已经尝试了许多不同的变体(”从urllib导入请求“,”导入urllib.request“,”导入urllib“,”导入urllib2.request“)”。你的解决方案已经在OP的尝试列表中......显然它不起作用。 – roganjosh

0

urllib.request模块在Python 3库中;对于Python 2,你会使用urllib2

+0

“我试过很多不同的变体(”从urllib导入请求“,”导入urllib.request“,”导入urllib“,”导入urllib2.request“)”。显然他们已经使用'urllib2',所以我不明白这个答案与OP所说的不同。 – roganjosh

0
import urllib 
from urllib import request 
goog_url = "https://query1.finance.yahoo.com/v7/finance/download/GOOG?period1=1501517722&period2=1504196122&interval=1d&events=history&crumb=bU42Yaj88Bt" 

def download_stock_data(csv_url): 
    response = urllib.request.urlopen(csv_url) 
    csv = response.read() 
    csv_str = str(csv) 
    lines = csv_str.split("\\n") 
    dest_url = r'goog.csv' 
    fx = open(dest_url, "w") 
    for line in lines: 
     fx.write(line + "\n") 
    fx.close() 

download_stock_data(goog_url) 

你的代码应该看起来像这样。但它仍然显示HTTP Error 401: Unauthorized你采取了错误的网址。