我有多个子文件夹,每个子文件夹都有多个文本文件。我想逐个读取每个子文件夹中的文件,进行一些更改,然后输出到具有相似名称但位于不同目录中的新子文件夹。下面是我的程序,但是当我运行它时,我只得到一个输出文件。我做错了什么?
import os
rootdir = 'dir'
for subdir, dirs, files in os.walk(rootdir):
for fname in files:
print os.path.join(subdir, fname)
file_path = os.path.join(subdir, fname)
df = pd.read_csv(file_path, sep='|', encoding='cp1252')
df['X1]=df['X1’].astype(str)
df['X2']=df['X2'].astype(str)
df.to_excel('out_dir\out_subfolder\fname.xlsx')
答案 0 :(得分:0)
这一行
df.to_excel('out_dir\out_subfolder\fname.xlsx')
将DataFrame保存到'out_dir\out_subfolder\fname.xlsx'
。
您希望将其保存到:
os.path.join(out_dir, out_subfolder, fname + '.xlsx')
因此它使用变量而不是固定字符串。所以使用:
df.to_excel(os.path.join(out_dir, out_subfolder, fname + '.xlsx'))