尝试使用pandas dataframe

时间:2015-10-14 22:14:55

标签: python pandas

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

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')

1 个答案:

答案 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'))