如何在没有 Spark 的情况下从本地文件系统(例如 python、某些库等)将 Parquet 转换为 CSV? (试图找到尽可能简单和简约的解决方案,因为需要自动化一切而不是太多资源)。
我试过例如
parquet-tools
在我的 Mac 上,但数据输出看起来不正确。
需要进行输出,以便当某些列中不存在数据时 - CSV 将具有相应的 NULL(2 个逗号之间的空列)..
谢谢。
您可以使用 Python 包
pandas
和 pyarrow
来完成此操作(pyarrow
是 pandas
的可选依赖项,您需要此功能)。
import pandas as pd
df = pd.read_parquet('filename.parquet')
df.to_csv('filename.csv')
当您需要对文件中的内容进行修改时,您可以对
pandas
进行标准的df
操作。
如果你使用的是 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')
有包 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)