在我的工作中,我收到了PDF文件的订单,而我需要把它们改写成Excel表格。Excel文件和PDF文件都有精确的时间结构,这是不变的,所以我决定自动化这个过程,并创建python脚本来完成它。你知道吗
目前,我即将结束,我只需要把最后的数据写入excel文件,但我有严重的问题,非常严重,我可能需要重写/重新设计我的一半代码(大约有500行)。你知道吗
“问题”是,我将代码分为3个文件:
但问题是,我在xlsxwriter的主文件中有,它创建Excel文件和工作表。你知道吗
正是这样:
# Creation of new EXCEL file
xlsx_file = 'Red_vyplaty_' + termin_file + '.xlsx'
print 'Creating excel file "%s"' % xlsx_file
excel_file = xlsxwriter.Workbook(xlsx_file)
# Adding sheet, called "Listky_obce_nad_300"
obce_nad_300_sheet = excel_file.add_worksheet('Listky_obce_nad_300')
print 'Adding data sheet "Listky_obce_nad_300" into "%s"' % (xlsx_file)
obce_nad_300_sheet.set_column(0, 0, 2)
obce_nad_300_sheet.set_column(1, 1, 2)
但是,我需要(或者更准确地说)在函数文件中创建一个函数,,它将有一个输入,并且基于这个输入,它将从配置常量文件中获取数据,并将它们写入这个表(obce\u nad\u 300\ sheet)。你知道吗
问题是,如果我创建如下函数:
def create_footer(suma_cell, starting_row, flag):
"""
Function to creade footer of listok
flag = 0 / 1 / 2 (data sheet where to write header)
"""
obce_nad_300_sheet.write(row, 4, 'Test')
它(显然)会抛出异常,全局变量obce\u nad\u 300\u sheet不存在,bla bla bla..我确信你们都知道:)
我知道,我有两种解决方法:
但我想有第三个选择,我还没有意识到,并将两者,简单和“好”???:)
PS:不,xlsxwriter不能打开/读取excel文件,它只能创建一个新的文件,所以如果我在函数中定义它,它将重写我以前写入文件的所有内容。
我觉得你的代码组织得不太好。不用太麻烦,我会使用
obce_nad_300_sheet
作为一个对象来移动它。像这样:我不知道图书馆是怎么运作的。它是通过调用
write
来“提交”更改,还是需要某种save
或commit
方法?你知道吗在不太了解您的情况或库的情况下,我可能会创建一个继承自
xlsxwriter.Workbook
的对象,将表存储在该对象的属性中(可能是{"sheet_name": WorkSheet}
的dict),并在该对象中编写方法。可能是这样的:然后在你所谓的
main
文件中:相关问题 更多 >
编程相关推荐