繁体   English   中英

pandas dataframe 到 parquet 文件转换

[英]pandas dataframe to parquet file conversion

我正在尝试将 csv 文件从 s3 存储桶移动到另一个存储桶,方法是将其转换为 txt 文件,但我遇到了各种分隔符问题。 所以我决定将 csv 转换为镶木地板文件,但我不确定我是否做对了。 这是转换为镶木地板文件的正确方法吗? 我们有另一个 ETL(胶水爬虫),它拾取这些镶木地板文件并将它们填充到红移。 我可以在 s3 存储桶中看到 parquet 文件,但在 redshift 数据库中看不到。 所以想知道文件是否正确转换为镶木地板。

bucket = 'source bucket'
file = 'file path'
    
    
    obj = client.get_object(Bucket= bucket, Key= file)
    initial_df = pd.read_csv(obj['Body'])
    
    
    file = 'file.parquet'
    bucketdest = 'destinationbucketname'
    buf = BytesIO()
    initial_df.to_parquet(buf, index=False)
    s3_file = 'path'+file
    print(s3_file)
    buf.seek(0)
    s3 = session2.resource('s3')
    s3.Object(bucketdest, s3_file).put(Body=buf.getvalue())
    print('loaded')

为了将 Pandas DF 保存为 parquet 格式,您需要运行以下命令

df.to_parquet('C:\\Desktop\myfile.parquet')

您可能会收到以下错误。

ImportError:无法找到可用的引擎; 尝试使用:“pyarrow”、“fastparquet”。 pyarrow 或 fastparquet 是镶木地板支持所必需的

安装 pyarrow 或 fastparquet 库来解决问题

pip install pyarrow
pip install fastparquet

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM