写入时ExcelWriter覆盖工作表

时间:2019-02-27 19:08:08

标签: python pandas append xlsxwriter

该程序应将单个工作表的内容放入一个excel工作簿中。它几乎可以做到这一点,但是它是覆盖而不是在最终的工作簿中添加新的工作表。我读到熊猫excel作家是解决这个问题的方法,关于它为什么有这种行为的任何想法?

import xlwt, csv, os
from openpyxl import load_workbook
import pandas as pd
from pandas import ExcelWriter

csv_folder = r'C:\Users\Me\Desktop\Test_Folder\\'

for fil in os.listdir(csv_folder):

    if '.xlsx' not in fil:
        continue
    else:
        pass

    df = pd.read_excel(csv_folder+fil, encoding = 'utf8')

    file_name = fil.replace('.xlsx','')

    writer = pd.ExcelWriter('condensed_output.xlsx', engine = 'xlsxwriter')
    df.to_excel(writer, sheet_name = file_name)
    writer.save()
    #writer.close()

1 个答案:

答案 0 :(得分:1)

确保writer.save()在循环之外。还要注意工作表名称的字符数限制,因此,如果文件名在某个特定点之前都是相同的,则也存在以这种方式覆盖工作表名称的风险。

hasSpecial column

ETA:也在循环之外建立编写器