如何从本地文件系统(例如Python,一些库等)转换到CSV,但没有Spark?(试图找到尽可能简单和最低限度的解决方案,因为需要自动化的一切,没有太多的资源)。我尝试在Mac上使用例如parquet-tools,但数据输出看起来不正确。需要进行输出,以便在某些列中不存在数据时- CSV将具有相应的NULL(2个逗号之间的空列)。谢谢。
parquet-tools
wmvff8tz1#
可以使用Python包pandas和pyarrow(pyarrow是pandas的可选依赖项,您需要使用它来实现此功能)。
pandas
pyarrow
import pandas as pd df = pd.read_parquet('filename.parquet') df.to_csv('filename.csv')
当需要修改文件中的内容时,可以在df上执行标准的pandas操作。
df
wi3ka0sx2#
如果您正在使用Jupyter notebooks,您可以用途:
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')
zzoitvuj3#
有一个包fastparquet可以从 parquet 文件中读取数据:
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)
3条答案
按热度按时间wmvff8tz1#
可以使用Python包
pandas
和pyarrow
(pyarrow
是pandas
的可选依赖项,您需要使用它来实现此功能)。当需要修改文件中的内容时,可以在
df
上执行标准的pandas
操作。wi3ka0sx2#
如果您正在使用Jupyter notebooks,您可以用途:
zzoitvuj3#
有一个包fastparquet可以从 parquet 文件中读取数据: