2017-05-05 105 views
1

私は.parquetファイルを持っており、PyArrowを使用しています。 私は、次のコードを使用してテーブルに.parquetファイルを変換:table.shapeを実行Pyarrowを使用して.parquetファイルをCSVに変換する

import pyarrow.parquet as pq 
import pandas as pd 
filepath = "xxx" # This contains the exact location of the file on the server 
from pandas import Series, DataFrame 
table = pq.read_table(filepath) 

(39014 rows, 19 columns)を返しました。

テーブルのスキーマは次のとおりです。p = table.to_pandas()を行うときは

col1: int64 not null 
col2: string not null 
col3: string not null 
col4: int64 not null 
col5: string not null 
col6: string not null 
col7: int64 not null 
col8: int64 not null 
col9: string not null 
col10: string not null 
col11: string not null 
col12: string not null 
col13: string not null 
col14: string not null 
col15: string not null 
col16: int64 not null 
col17: int64 not null 
col18: int64 not null 
col19: string not null 

私は次のエラーを取得する:私はその後、データフレームやCSVにこの寄木細工のファイルを変換するにはどうすればよい

ImportError: cannot import name RangeIndex

? 助けてください。ありがとうございました。

+2

?互換性がない可能性があります。最後の日にPandasは新しいバージョンをリリースし、PyArrowも新しいバージョンをリリースします。新しいpyarrowリリースがなくなるまで、Pandasのインストールをアップ/ダウングレードするのに役立ちます。 – xhochy

+0

'from pandas import RangeIndex'を試して、あなたの質問を出力で更新してください –

答えて

0

は、次の試してみてください。

pyarrowとパンダのバージョンを使用している
import pyarrow as pa 
    import pyarrow.parquet as pq 
    import pandas as pd 
    import pyodbc 

    def read_pyarrow(path, nthreads=1): 
    return pq.read_table(path, nthreads=nthreads).to_pandas() 


    path = './test.parquet' 

    df1 = read_pyarrow(path) 

    df1.to_csv(
    './test.csv', 
    sep='|', 
    index=False, 
    mode='w', 
    line_terminator='\n', 
    encoding='utf-8') 
関連する問題