【发布时间】:2021-05-27 02:35:15
【问题描述】:
文件系统在我的问题中设计如下:
Main folder -> sub-folder -> data.csv
这里,Main folder 有几个子文件夹,其中每个 sub-folder 有一个 data.csv 文件(请注意,每个子文件夹中的 .csv 文件具有与 data.csv 相同的文件名)。对于数据处理,我需要将所有 .csv 文件放在一个文件夹中,以便我可以使用以下代码(以下代码在我手动复制和重命名时有效(因为所有 .csv 文件具有相同的名称)每个 @ 987654329@ 文件从子文件夹到单个文件夹)。在重命名.csv文件时,我使用了子文件夹的名称,例如:如果一个子文件夹命名为a1,我将这个子文件夹中的.csv文件重命名为a1.csv。
import pandas as pd
import csv
import glob
import os
path = r'C:\Santobedi' # file path to the folder that contains manually copied and uniquely named .csv files
all_files = glob.glob(path + "/*.csv")
print(all_files)
for file in all_files:
file_name = os.path.split(file)[-1]
file_name_path = os.path.join('C:\Santobedi\CNN' + file_name)
transpose_df = pd.read_csv(file).T
transpose_df.to_csv(file_name_path)
手动复制和重命名大文件很烦人。我想一次性完成。我怎样才能用 Python(熊猫)做到这一点?
【问题讨论】:
-
为什么要使用 pandas 来读/写而不是使用
shutil.copy()或shuti.move()?您在此处发布的代码有什么问题? -
顺便说一句,不要在 Windows 路径中使用反斜杠 - 使用原始字符串或正斜杠
-
@buran 代码没有问题。我提到了解释我的问题的代码。我试过
shutil.copy(source, destination),但它仍然没有帮助,因为我需要遍历几个子文件夹并在复制到单个文件夹之前或之后重命名 .csv 文件。