我有可以将多个.xlsx文件转换为.csv的python代码。但它会将它们放在同一个文件夹中。如何修改这段代码以确保它将.csv文件放到单独的文件夹中?
import pandas as pd
import glob
excel_files = glob.glob('C:/Users/username/Documents/TestFolder/JanuaryDataSentToResourcePro/*.xlsx') # assume the path
for excel in excel_files:
out = excel.split('.')[0]+'.csv'
df = pd.read_excel(excel, 'ResourceProDailyDataset') # if the sheet name is always the same.
df.to_csv(out) 发布于 2018-02-23 12:30:41
从您的文件名中拆分目录,然后为您的out分配一个新目录:
for excel in excel_files:
folder = r'C:\ASeparateFolder\'
out = folder + excel.split('\\')[-1].split('.')[0]+'.csv'
df = pd.read_excel(excel, 'ResourceProDailyDataset') # if the sheet name is always the same.
df.to_csv(out)请注意,我使用了'\\'进行拆分,无论您使用'\'还是'/'作为初始excel_file目录,它似乎都是excel_file的常见拆分点。
发布于 2018-02-23 12:42:05
首先拆分路径,删除不需要的文件夹,并将其替换为其他文件夹。
import pandas as pd
import os
import glob
excel_files = glob.glob('C:/Users/username/Documents/TestFolder/JanuaryDataSentToResourcePro/*.xlsx') # assume the path
# folder name for the converted csv files
different_folder = "csv_folder"
for excel in excel_files:
# make a csv path
csv_folder_path = "\\".join(excel.split('\\')[:-1])+"\\"+different_folder+"\\"
if not os.path.exists(csv_folder_path):
# create it if it doesn't exist
os.makedirs(csv_folder_path)
# full path of the csv file
out = csv_folder_path+excel.split('\\')[-1].split('.')[0]+'.csv'
df = pd.read_excel(excel, 'ResourceProDailyDataset') # if the sheet name is always the same.
df.to_csv(out) 这将在所有包含Excel文件的文件夹中创建一个新文件夹csv_folder,转换后的csv文件将放置在此文件夹中。
发布于 2018-02-23 11:21:41
您可以更改控制输出文件的变量。试试这样的东西
out = 'some_directory/' + excel.split('.')[0]+ '.csv'目录必须存在才能正常工作。
https://stackoverflow.com/questions/48940588
复制相似问题