pandas 转换目录中的json文件在 parquet 文件与python & panda

62lalag4  于 2022-12-16  发布在  Python
关注(0)|答案(1)|浏览(181)

我正在努力将本地json文件转换成Parquet文件。每个文件都应该用Pandas转换成Parquet文件并保存,所以我有相同数量的文件,就像Parquet一样。
我遍历了我的目录,把所有现存的json文件列成一个列表,并把它们放到一个panda Dataframe 中。

path = 'trackingdata/'

df = list()
for root, dirs, files in os.walk(path, topdown=False):
   for name in files:
      df.append(os.path.join(root, name))
df = pd.DataFrame(df)

现在遍历 Dataframe 并使用以下命令转换每个文件是否更好

df.to_parquet('trackingdata.parquet')

或者在遍历目录后将转换写入上面的代码会更好吗?我如何将每个文件转换为 parquet 而不将所有文件连接在一起?

gwbalxhn

gwbalxhn1#

如何定义一个json_to_parquet转换器:

def json_to_parquet(filepath):
    df = pd.read_json(filepath, typ='series').to_frame("name")
    parquet_file = filepath.split(".")[0] + ".parquet"
    df.to_parquet(parquet_file)

根据json的格式,您可能需要更改read_json行和/或使用提示here
然后一次处理一个文件:

path = 'trackingdata/'

for root, dirs, files in os.walk(path, topdown=False):
    for name in files:
        json_to_parquet(os.path.join(root, name))

相关问题