首页 > 解决方案 > 在 python 编码中,如何将每次迭代的输出附加到单独的变量

问题描述

我正在尝试合并 excel 文件程序。我需要做的第一步是检查所选的 excel 文件。这是我已经完成的编码部分。

import os
import tkinter.ttk as ttk
import tkinter.messagebox as msgbox
from tkinter import *  # __all__
from tkinter import filedialog
from datetime import datetime
from openpyxl import Workbook

def add_file():
    files = filedialog.askopenfilenames(title="파일을 선택하세요", \
                                    filetypes=(('xls 파일', '*.xls'), ('xlsx 파일', '*.xlsx'), ('모든 파일', '*.*')), \
                                    initialdir='D:/사업/발주 및 정산/정산/정산서') 
    for file in files:
        list_file.insert(END, file)

def del_file():
    for index in reversed(list_file.curselection()):  
        list_file.delete(index)

def btncmd():
    wb = Workbook()  
    ws = wb.active  

    print(file)

datestring = datetime.strftime(datetime.now(), '%Y%m%d') 

    wb.save("D:/사업/발주 및 정산/정산/정산서/리빙투게더 정산서 " + datestring + ".xls") 
    wb.close()

btn = Button(frame_folder, text='클릭', command=btncmd)
btn.pack(side='left', padx=6, pady=5)

我想输出“文件”变量,并在 def btncmd() 中使用它:但它不起作用。如何在 def add_file(): 中获取文件的输出并附加变量?

标签: pythonexceltkinteropenpyxlglobal

解决方案


您从未启动变量“文件”-您仅在循环中使用它,它只是作为索引号的不同名称,因此每次迭代都称为“文件”。在循环结束时(在其中)打印“文件”或将每次迭代的输出附加到单独的变量中,然后打印该变量。

编辑:迭代示例

文件内容 = []

对于文件中的文件:list_file.insert(END, file) file_content.append(file)

或者

对于文件中的文件:a = list_file.insert(END, file) file_content.append(a)

取决于您稍后要在代码中使用的输出。


推荐阅读