2016-09-25 12 views
2

現在、このlinkからデータセットを作成しています。しかし、私はパンダからこれらのファイルを読むことができません。誰もそのようなファイルで遊んだことがありますか?パンダ:特定のファイルを開く方法

私は次のことをしようとしています:

import pandas as pd 

df = pd.read_csv("m_4549381c276b46c6.0000") 

をしかし、私はこれらのファイルが保存されてSFrameの一部であり、次のエラーに

Error tokenizing data. C error: Buffer overflow caught - possible malformed input file. 
+0

あなたは[mcve]を提供できますか? –

+0

ありがとうございます。コードを見てください。 –

答えて

3

を取得します。今、あなたはパンダDFに変換することができD:/download/sframe/

In [7]: import sframe 

In [7]: sf = sframe.SFrame('D:/download/sframe/') 

In [8]: sf 
Out[8]: 
Columns: 
     URI  str 
     name str 
     text str 

Rows: 59071 

Data: 
+-------------------------------+---------------------+ 
|    URI    |   name  | 
+-------------------------------+---------------------+ 
| <http://dbpedia.org/resour... | Digby Morrell | 
| <http://dbpedia.org/resour... | Alfred J. Lewy | 
| <http://dbpedia.org/resour... | Harpdog Brown | 
| <http://dbpedia.org/resour... | Franz Rottensteiner | 
| <http://dbpedia.org/resour... |  G-Enka  | 
| <http://dbpedia.org/resour... | Sam Henderson | 
| <http://dbpedia.org/resour... | Aaron LaCrate | 
| <http://dbpedia.org/resour... | Trevor Ferguson | 
| <http://dbpedia.org/resour... |  Grant Nelson | 
| <http://dbpedia.org/resour... |  Cathy Caruth | 
+-------------------------------+---------------------+ 
+-------------------------------+ 
|    text    | 
+-------------------------------+ 
| digby morrell born 10 octo... | 
| alfred j lewy aka sandy le... | 
| harpdog brown is a singer ... | 
| franz rottensteiner born i... | 
| henry krvits born 30 decem... | 
| sam henderson born october... | 
| aaron lacrate is an americ... | 
| trevor ferguson aka john f... | 
| grant nelson born 27 april... | 
| cathy caruth born 1955 is ... | 
+-------------------------------+ 
[59071 rows x 3 columns] 
Note: Only the head of the SFrame is printed. 
You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns. 

:私はpeople_wiki.glからすべてのファイルをダウンロードしたとの下に置く:

import sframe 

sf = sframe.SFrame('/path/to/dir/') 

デモ:

だから、彼らにこの方法をロードすることができます必要な場合:

In [17]: df = sf.to_dataframe() 

In [18]: pd.options.display.max_colwidth = 40 

In [19]: df.head() 
Out[19]: 
             URI     name          text 
0 <http://dbpedia.org/resource/Digby_M...  Digby Morrell digby morrell born 10 october 1979 i... 
1 <http://dbpedia.org/resource/Alfred_...  Alfred J. Lewy alfred j lewy aka sandy lewy graduat... 
2 <http://dbpedia.org/resource/Harpdog...  Harpdog Brown harpdog brown is a singer and harmon... 
3 <http://dbpedia.org/resource/Franz_R... Franz Rottensteiner franz rottensteiner born in waidmann... 
4  <http://dbpedia.org/resource/G-Enka>    G-Enka henry krvits born 30 december 1974 i... 

In [20]: df.shape 
Out[20]: (59071, 3) 
+0

ありがとうございました。@Ujjawalは言ったように、私はiPythonのノートブックを見ていたはずです。しかし、グラフラブは無料ではありません。その場合、どうすればいいのですか? –

+0

@chintans、あなたは単純にsframe( 'pip install sframe')をインストールすることができます。 – MaxU

+0

ありがとう@MaxU、これが助けになりました。 –

2

答えを明示するには、MaxU、あなたは間違った方法でそれを読もうとしています。それは生のファイルであり、そのフォーマットは、同じフォルダ内にある他のファイルに含まれています。そのファイルはlinkです。 Pandasでは、ファイルのエンコードされた形式(デリミタ、列数など)を事前に知っておく必要があります。これは、それを認識せずにファイルを読むための魔法の杖として使用することはできません。

linkのフォルダのすぐ外側にあるIPythonノートブックは、そのデータの読み取り方法を正確に示しています。 MaxUは、問題の特定のファイルが、GraphLabフレームワークの構造であるSFrameの一部であることを正しく述べています。したがって、全体の一部から意味のあるデータを抽出しようとしているため、意味のあるデータはできません。

しかし、graphlabファイルを読み込んで、それをPandasデータフレームに変換することはできます。詳細はhereを参照してください。

+0

ありがとうございました。私はiPythonノートブックを見ていたはずです。しかし、グラフラブは無料ではありません。その場合、どうすればいいのですか? –

+1

sframeは、GraphLabコンポーネントのオープンソース実装を制限します。あなたはそれを使うかもしれない。 MaxUはこれを例に挙げています。 pip install sframeでsframeをインストールできます。 – Ujjwal

+0

ありがとう@Ujjawal! –

関連する問題