【问题标题】:pandas dataframe to parquet file conversion熊猫数据框到镶木地板文件的转换
【发布时间】:2020-11-13 03:28:15
【问题描述】:

我正在尝试通过将 csv 文件从 s3 存储桶转换为 txt 文件来将其移动到另一个存储桶,但我遇到了各种分隔符问题。所以我决定将 csv 转换为镶木地板文件,但我不确定我是否做得对。 这是转换为镶木地板文件的正确方法吗? 我们有另一个 ETL(胶水爬虫),它会拾取这些 parquet 文件并将它们填充到 redshift。我可以在 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')

【问题讨论】:

    标签: python pandas csv amazon-s3 parquet


    【解决方案1】:

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

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

    您可能会收到以下错误。

    ImportError:无法找到可用的引擎;尝试使用:'pyarrow'、'fastparquet'。 parquet 支持需要 pyarrow 或 fastparquet

    安装 pyarrow 或 fastparquet 库来解决问题

    pip install pyarrow
    pip install fastparquet
    

    【讨论】:

      猜你喜欢
      • 2017-04-25
      • 1970-01-01
      • 2021-02-28
      • 2019-07-18
      • 2022-11-24
      • 2020-04-20
      • 2022-11-03
      • 2018-12-01
      • 1970-01-01
      相关资源
      最近更新 更多