【发布时间】:2015-09-01 11:39:29
【问题描述】:
我正在尝试下载并解压缩一个 gzip 文件,然后将生成的 tsv 格式的解压缩文件转换为更易于解析的 CSV 格式。我正在尝试从this URL 中的"Download Table" link 收集数据。我的代码如下,我使用与in this post相同的想法,但是我在with open(outFilePath, 'w') as outfile:行中得到错误IOError: [Errno 2] No such file or directory: 'file=data/irt_euryld_d.tsv'
import os
import urllib2
import gzip
import StringIO
baseURL = "http://ec.europa.eu/eurostat/estat-navtree-portlet-prod/BulkDownloadListing?"
filename = "D:\Sidney\irt_euryld_d.tsv.gz" #Edited after heinst's comment below
outFilePath = filename[:-3]
response = urllib2.urlopen(baseURL + filename)
compressedFile = StringIO.StringIO()
compressedFile.write(response.read())
compressedFile.seek(0)
decompressedFile = gzip.GzipFile(fileobj=compressedFile, mode='rb')
with open(outFilePath, 'w') as outfile:
outfile.write(decompressedFile.read())
#Now have to deal with tsv file
import csv
with open(outFilePath,'rb') as tsvin, open('ECB.csv', 'wb') as csvout:
tsvin = csv.reader(tsvin, delimiter='\t')
csvout = csv.writer(csvout) #Converting output into CSV Format
谢谢
【问题讨论】:
-
为什么你的路径前面有
file=?那是目录名的一部分吗? -
@heinst 对不起。我会纠正的。但是,错误仍然存在。
-
能否请您用更新后的代码更新问题,以便我查看?
-
我知道问题所在,您需要数据文件夹的完整路径。所以
/Users/path/to/data/irt_euryld_d.tsv.gz -
它必须是一个有效的路径。无论文件
irt_euryld_d.tsv.gz在哪里,您都必须提供它的完整路径。例如,如果我的桌面上有irt_euryld_d.tsv.gz,我的路径将是/Users/heinst/Desktop/irt_euryld_d.tsv.gz。我会将该路径设置为filename值
标签: python