将 Parquet 转换为 CSV

问题描述 投票:0回答:3

如何在没有 Spark 的情况下从本地文件系统(例如 python、某些库等)将 Parquet 转换为 CSV? (试图找到尽可能简单和简约的解决方案,因为需要自动化一切而不是太多资源)。

我试过例如

parquet-tools
在我的 Mac 上,但数据输出看起来不正确。

需要进行输出,以便当某些列中不存在数据时 - CSV 将具有相应的 NULL(2 个逗号之间的空列)..

谢谢。

python csv command-line parquet
3个回答
57
投票

您可以使用 Python 包

pandas
pyarrow
来完成此操作(
pyarrow
pandas
的可选依赖项,您需要此功能)。

import pandas as pd
df = pd.read_parquet('filename.parquet')
df.to_csv('filename.csv')

当您需要对文件中的内容进行修改时,您可以对

pandas
进行标准的
df
操作。


2
投票

如果你使用的是 Jupyter 笔记本,你可以使用:

import sys
import pandas as pd
!{sys.executable} -m pip install pyarrow
parquet_file = 'fhv_tripdata_2022-04.parquet'
df = pd.read_parquet(parquet_file)
csv_output = 'yellow_taxi_cab.csv'
df.to_csv(csv_output, index=False, sep='\t')

1
投票

有包 fastparquet 从镶木地板文件中读取数据:

from fastparquet import ParquetFile

# Reading the data from Parquet File
pf = ParquetFile("userdata.parquet")

# Converting data in to pandas dataFrame
dataFrame = pf.to_pandas()

# Converting to CSV
dataFrame.to_csv("converted.csv", index = False)
© www.soinside.com 2019 - 2024. All rights reserved.