【发布时间】:2022-06-20 20:59:26
【问题描述】:
我有一个文件夹和子目录,其中包含 txt 文件。我想将每个 txt 文件转换为 csv 并将文件与 txt 文件同名但以 csv 格式保存。例如,我有一个名为 A 的文件夹,而 A 有
- 子文件夹 B(B 有子文件夹 C、D 等)。每个子文件夹中都有一个文件,名称不同,例如 test1.txt、test112.json 等。
- 子文件夹 E(E 有 F、K 等子文件夹)。每个子文件夹里面都有一个不同名字的文件,比如子文件夹F里面有testF.txt、testFgf.json等,子文件夹K里面有testKk.txt。
我想将每个 .txt 文件转换为每个子文件夹的 .csv 文件,并具有与以下相同的文件名:
- 子文件夹 B(B 有子文件夹 C、D 等)。每个子文件夹中都有一个名称不同的文件,例如 test1.txt、test1.json、test1.csv。
- 子文件夹 E(E 有 F、K 等子文件夹)。每个子文件夹中都有一个不同名称的文件,例如子文件夹 F 有 testF.txt、testF.json、testF.csv,子文件夹 K 有 testKk.txt、testKk.csv。 我试过了:
root="C:/user/main_folder/A/"
for path, subdirs, files in os.walk(root):
for name in files:
filepath = root + os.sep + name
if filepath.endswith(".txt"):
print(os.path.join(path, name))
file=task_info
task_info.to_csv(path.join(filepath, file_name), index=False)
在这里,我可以从每个子文件夹中获取正确的文件路径,但我无法将它们转换为 csv 并以正确的名称将它们保存在正确的文件夹中。 任何帮助将不胜感激。
【问题讨论】:
-
您的尝试发生了什么?它会产生任何错误吗?如果是这样,请考虑在问题中提出该错误。在代码的最后一行中,您已将
os.从应该是os.path.join()中删除。
标签: python csv path iteration subdirectory