将DF全部导出到一个更大的文件中

时间:2018-07-12 17:19:47

标签: python pandas

我在多个.xlsx文件中读取了df。我已经操纵了文件中所需的内容,并且导出视图是准确的。但是,我需要将数据导出到一个较大的2列文件,而不是多个单独的文件。

感谢您的帮助。我一直无法自行解决问题。

import os
import glob
import pandas as pd

folder = input('Enter the folder name: ')

os.chdir('C:/Users/PCTR261010/Desktop/' + folder)
FileList = glob.glob('*.xlsx')

for fname in FileList:
    df = pd.read_excel(fname).assign(New=os.path.basename('mpcc_' + (fname.split('-', 1)[0]).split('@', 1)[1]))
    df1 = df[['New', '<ID>']]

    writer = pd.ExcelWriter('ParttoMPCC_Import.xlsx', engine='xlsxwriter')
    df1.to_excel(writer, sheet_name='Import', index=False, header=False)
    writer.save()

2 个答案:

答案 0 :(得分:0)

您可以在单个DataFrame中追加所需的列,然后将该DataFrame写入Excel文件。下面的代码可以完成这项工作。

import os
import glob
import pandas as pd

folder = input('Enter the folder name: ')

os.chdir('C:/Users/PCTR261010/Desktop/' + folder)
FileList = glob.glob('*.xlsx')

df1 = pd.DataFrame()    # create an empty df
for fname in FileList:
    df = pd.read_excel(fname).assign(New=os.path.basename('mpcc_' + (fname.split('-', 1)[0]).split('@', 1)[1]))
    df1 = df1.append(df[['New', '<ID>']])    # append columns data to the df1

writer = pd.ExcelWriter('ParttoMPCC_Import.xlsx', engine='xlsxwriter')
df1.to_excel(writer, sheet_name='Import', index=False, header=False)
writer.save()

答案 1 :(得分:0)

您可以按以下方式使用pd.concat

data = []
for fname in FileList:
    df = pd.read_excel(fname).assign(New=os.path.basename('mpcc_' + (fname.split('-', 1)[0]).split('@', 1)[1]))
    df1 = df[['New', '<ID>']]
    data.append(df1)


writer = pd.ExcelWriter('ParttoMPCC_Import.xlsx', engine='xlsxwriter')
df = pd.concat(data)
df.to_excel(writer, sheet_name='Import', index=False, header=False)
writer.save()