从网站上的大型tar.gz文件中读取数据

时间:2016-08-26 21:20:33

标签: python python-2.7 csv urllib2 tar

1)我应该如何从网站上tar.gz文件中的所有csv文件中读取数据,并以最大内存和空间效率的方式将它们写入文件夹中的CSV? 2)如何循环它以遍历tar.gz文件中的所有CSV? 3)由于CSV文件很大,我怎样才能将它循环读写,比如一次100万行呢?

我到目前为止只使用其他stackoverflow答案的代码!

import pandas as pd
import urllib2
import tarfile
url='https://ghtstorage.blob.core.windows.net/downloads/mysql-2016-08-01.tar.gz'
r=urllib2.Request(url)
o=urllib2.urlopen(r)

thetarfile=tarfile.open(o, mode='r:gz')
thetarfile.close()

1 个答案:

答案 0 :(得分:-1)

  1. 将存档下载到本地存储。
  2. 显示存档中的文件列表。运行 man tar 以查看命令行的选项。
  3. 从档案中逐一提取文件。
  4. 使用SAX xml解析器https://docs.python.org/2/library/xml.sax.reader.html
  5. 解析后删除文件。
  6. 删除档案。