[英]how do i handle all subfolders in a single pass using python
我有一个 raw_data 文件夹,其中包含 4 个文件夹,即: orders
, playlist_track
, track_facts
, tracks
如下每一个——
./raw_data/tracks/tracks_0.csv
./raw_data/tracks/tracks_1.json
./raw_data/tracks/tracks_2.csv
ETC...
应该合并到一个文件中:./processed_data/ ./processed_data/tracks.json.gz
我编写了以下代码,它读取 csv 文件并将其转换为 json 并将其放入 jsonfile/playlist_tracksjson/playlist_track_4.Z466DEEC76ECDF5FCA6D38571F6324D54 中的原始文件?
import csv
import json
import pandas as pd
import glob
csv_file = pd.DataFrame(
pd.read_csv(
"raw_data/playlist_tracks/playlist_track_4.csv",
header=0,
index_col=False
)
)
csv_file.to_json(
"processedfile/playlist_tracksjson/playlist_track_4.json",
orient = "records",
double_precision=0,
lines=True
)
result = ''
for f in glob.glob("*.json"):
with open(f, "r") as infile:
result += infile.read()
with open("merged_file.json.gz", "w") as outfile:
outfile.writelines(result)
但是文件夹结构是
processedfile/ordersjson/mergedtracksfile.json.gz
而我想要
processedfile/mergedtracksfile.json.gz
如何一次性处理这些文件夹中的所有文件?
使用os.walk
。 请参阅https://docs.python.org/3/library/os.html 。
这个 function 递归地遍历一个目录及其所有子目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.