首页 > 解决方案 > 将 .txt 导入现有 excel 到新工作表

问题描述

我完全被我正在做的小项目所困扰。我每月一次将 .txt 文件中的数据导入现有的 excel 中。每次我这样做时,我想在 Excel 中创建一个新工作表并将数据添加到其中,而不更改其他工作表中的任何内容。我的方法看起来像这样。

from datetime import date, timedelta
import pandas as pd
import numpy as np
import openpyxl
from openpyxl import load_workbook
import os


now = date.today()
last_month = now.month-1 if now.month > 1 else 12
last_year = now.year - 1

if last_month != 1:
filename = "0" + str(last_month) + "." + str(now.year) + ".txt"

else:
    filename = "12" + "." + str(last_year) + ".txt"

print(filename)

writer = pd.ExcelWriter("Ausgabenliste.xlsx", engine='openpyxl')


if os.path.exists("Ausgabenliste.xlsx"):
    book = openpyxl.load_workbook("Ausgabenliste.xlsx")
    writer.book = book
df = pd.read_csv(filename, sep=" ")
df.to_excel(writer, sheet_name=filename)
writer.save()
writer.close()

我总是收到以下错误消息: 在此处输入图像描述

谢谢您的帮助。对此,我真的非常感激。

标签: pythonexcelpandasopenxlsx

解决方案


这会在现有 XLSX 中添加一个新工作表:

# Load existing 
book = load_workbook('x.xlsx')
writer = pd.ExcelWriter('x.xlsx', engine = 'openpyxl')
# Starting with the existing worksheets
writer.book = book
# Adding a new worksheet
df.to_excel(writer, sheet_name='gtomer')
writer.save()

推荐阅读