0

我完全糊涂了。我编写了一个程序(自动执行),它从我的桌面打开一个 .txt(上个月的)文件,并将所有内容放在一个 excel 工作表中,然后打开 excel 文件。之后它会删除 .txt 文件。

它在上个月工作(因为我有一个 excel 条目),但它以某种方式停止查找 .txt 文件(我手动生成了一个文件来测试它)。

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


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


work='C:\\Users\\sebii\\Dropbox\\Programmier_Projekte\\Telegram_bot_Ausgabenliste\\Ausgabenliste.xlsx'



    if last_month != 1:
        #Windows PC
        filename2 = "C:\\Users\\sebii\\Desktop\\" + "0" + str(last_month) + "." + str(now.year) + ".txt"
        way = "0" + str(last_month) + "." + str(now.year) + ".txt"
        sheet = "0" + str(last_month) + "." + str(now.year)
        #Raspberry Pi
        #filename2 = "Y:\\" + "0" + str(last_month) + "." + str(now.year) + ".txt"
        #way = "0" + str(last_month) + "." + str(now.year) + ".txt"
        #sheet = "0" + str(last_month) + "." + str(now.year)
    
    
    
    else:
        #Windows PC
        filename2 = "C:\\Users\\sebii\\Desktop\\" +  "12" + "." + str(last_year) 
        way = "12" + "." + str(last_year) + ".txt"
        sheet = "12" + "." + str(last_year)
        #Raspberry Pi
        #filename2 = "Y:\\skripte\\" +  "12" + "." + str(last_year) 
        #way = "12" + "." + str(last_year) + ".txt"
        #sheet = "12" + "." + str(last_year)
    
    print(way)

    try:
        df = pd.read_csv(filename2, sep=" ", error_bad_lines=False)
    
        # Load existing Excel file
        book = load_workbook(work)
        writer = pd.ExcelWriter(work, engine = 'openpyxl')
        # Starting with the existing worksheets
        writer.book = book
        # Adding a new worksheet and storing the data in it
        df.to_excel(writer, sheet_name=sheet)
        writer.save()




        os.remove(filename2)
        os.startfile(work)
    
    except:
        print("Es ist keine alte Datei vorhanden")
 

txt_to_excel_transformer()

在此处输入代码

4

0 回答 0