2

私はパンダ(これは素晴らしいです)を理解し始めたところです。私がする必要があるのは、圧縮されたゲノミクスタイプのファイルをftpサイトからパンダのデータフレームに読み込むことです。これは私が試したものであり、大量のエラーが発生しました。

from pandas.io.parsers import *

chr1 = 'ftp://ftp.ncbi.nih.gov/snp/organisms/human_9606/chr_rpts/chr_1.txt.gz'

CHR1 = read_csv(chr1, sep='\t', compression = 'gzip', skiprows = 10)

print type(CHR1)
print CHR1.head(10)

理想的には、次のようなことをしたいと思います。

from pandas.io.data import *
AAPL = DataReader('AAPL', 'yahoo', start = '01/01/2006')
4

1 に答える 1

1

この質問の興味深い部分は、 ftp から (gz) ファイルをストリーミングする方法です。これについては、こちらで説明しています。ここでは、以下が Python 3.2で機能すると主張されています(ただし、2.x では機能せず、バックポートもされません) 。 、そして私のシステムではこれが当てはまります:

import urllib.request as ur
from gzip import GzipFile

req = ur.Request(chr1) #  gz file on ftp (ensure startswith 'ftp://')
z_f = ur.urlopen(req)

# this line *may* work (but I haven't been able to confirm it)
# df = pd.read_csv(z_f, sep='\t', compression='gzip', skiprows=10)

# this works (*)
f = GzipFile(fileobj=z_f, mode="r")
df = pd.read_csv(f, sep='\t', skiprows=10)

(*) ここでは、ファイル全体をダウンロード/開く必要がなく、f実行できる (行ごとに読み取る) ことができるという意味で、「ファイルのような」ものです。readline

.

ftplib注:ライブラリをに取得できませんでしたreadline。そうすべきかどうかは明確ではありませんでした。

于 2013-02-19T01:09:37.167 に答える