Python 尝试使用dataframe写入多个文件时出现的问题

Python 尝试使用dataframe写入多个文件时出现的问题,python,pandas,Python,Pandas,我有多个子文件夹,每个子文件夹都有多个文本文件。我想一个接一个地读取每个子文件夹中的文件,进行一些更改,然后输出到具有类似名称但位于不同目录中的新子文件夹。下面是我的程序,但当我运行它时,我只得到一个输出文件。我做错了什么 import os rootdir = 'dir' for subdir, dirs, files in os.walk(rootdir): for fname in files: print os.path.join(subdir, fnam

我有多个子文件夹,每个子文件夹都有多个文本文件。我想一个接一个地读取每个子文件夹中的文件,进行一些更改,然后输出到具有类似名称但位于不同目录中的新子文件夹。下面是我的程序,但当我运行它时,我只得到一个输出文件。我做错了什么

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')
这条线

df.to_excel('out_dir\out_subfolder\fname.xlsx')
正在将数据帧保存到
'out\u dir\out\u子文件夹\fname.xlsx'

您希望将其保存到:

os.path.join(out_dir, out_subfolder, fname + '.xlsx')
因此它使用变量,而不是固定字符串。因此,请使用:

df.to_excel(os.path.join(out_dir, out_subfolder, fname + '.xlsx'))
这条线

df.to_excel('out_dir\out_subfolder\fname.xlsx')
正在将数据帧保存到
'out\u dir\out\u子文件夹\fname.xlsx'

您希望将其保存到:

os.path.join(out_dir, out_subfolder, fname + '.xlsx')
因此它使用变量,而不是固定字符串。因此,请使用:

df.to_excel(os.path.join(out_dir, out_subfolder, fname + '.xlsx'))