Tag: xlutils

xlrd,xlwt,xlutils如何在低级别的Excel中工作?

他们都是开源的Python包来控制Excel(请参阅python-excel )。 我仍然试图了解他们的代码。 如果有人可以提供一个提示,做他们如何连接到Excel的低杠杆? 通过XML,Excel API或其他一些基本的Python包?

使用xlutils xlwt复制工作簿

是否有可能复制macros启用excel工作簿? 例如,我有: from xlutils.copy import copy from xlrd import open_workbook from tempfile import TemporaryFile book = open_workbook("book.xlsm") book_copy = copy(book) book_copy.save("bookcopy.xlsm") book_copy.save(TemporaryFile()) 但是,当我点击bookcopy.xlsm打开它,我得到以下错误:“Excel无法打开文件'bookcopy.xlsm',因为文件格式或文件extesion无效。确认文件没有损坏,文件扩展名匹配文件的格式“。 我保存的时候没有得到这个错误是“bookcopy.xls”,但是我需要它是.xlsm。 有没有人有一个想法是什么问题?

用xlrd / xlutils复制表格

我有一个文件夹与许多相同格式的Excel文件,多张表。 目标是循环浏览文件夹,并将每个笔记本中的其中一张纸张移到新的笔记本中,即在新的工作簿中从每个.xlsx文件中结束一张纸张。 我通常使用DataNitro的Excel工作,但遗憾的是,当复制数据,你似乎不能指定一个工作簿参数CellRange函数,所以我不认为这是可能的。 我有代码在VBA中执行,但是我的组织正在从VBA中移除。 我正在寻找使用xlrd和xlutils的解决方法。 到目前为止,我把它作为一个文件的testing用例: import os, xlrd, xlwt, xlutils FilePath = r"Z:\Production_Data\WaveII\2-007\20130403\Central report\March'13\March" #ENTER FILE PATH HERE os.chdir(FilePath) wb = xlrd.open_workbook("2nd Mar'13 CENTRAL REPORT..xls") copy_sheet1 = wb.sheet_by_index(1) new_book = xlwt.Workbook() test = new_book.add_sheet('TEST') 但是我不确定如何将copy_sheet1中的数据写入新工作簿中的“TEST”表单。 顺便说一句,如果它是一个精确的副本,包括格式化等,而不是逐个单元格迭代数据,那将是最好的。 不知道这是否可能。 任何帮助非常感谢。 谢谢

用python修改.xls文件

我在python中编写一个脚本来读取一个excel文件,然后对一个单元格进行更改,然后将其全部复制到另一个excel文件并保存。 例如,我有example.xls ,然后我生成example_copy.xls 。 永恒的是相同的,但我的问题是,在工作表上的公式已经消失,当它使复制它保留所有的文字,但我想复制所有的公式了。 我正在使用xlutils来做到这一点。 这是我的代码的一部分: def write_frecuencias(self): book = xlrd.open_workbook('Examen.xls', formatting_info=True) book_copy = copy(book) sheet = book_copy.get_sheet(0) frecuencies = self.get_frecuencias() row = 1 for f in frecuencies: sheet.write(row, 1, str(f[0])) row += 1 book_copy.save('Examen.xls')

Python Excel模板读取和重写,维护公式和格式

我已经运行了色域,似乎无法find我正在寻找的东西。 我在这里find的所有线程都以死胡同而告终。 xlrd,xlwt和xlutils几乎可以做我所需要的,但是…基本的想法是,我需要使用Python将简单的数据(string)写入Excel模板的特定工作表,并将该模板写出到一个新的.xls文件。 读取模板,将其复制到一个新的工作簿对象,写入新的值,并写出新的.xls文件是没有问题的。 但是,我无法find一个维护公式和格式的Python Excel模块。 ` our = 'template.xls' # open up read-only template with formatting maintained rb = open_workbook(our,formatting_info=True) r_sheet = rb.sheet_by_index(4) # copy this to a new workbook object wb = copy(rb) # 5th sheet (index = 4) is where we need to drop the data we have w_sheet = wb.get_sheet(4) # […]

从Excel单元格中读取数据,并写入另一个在python xlrd / xlwt中应用相同格式的Excel表格

我在python中使用xlrd,xlwt和xlutils库来读写Excel表格。 所以,我已经成功地读写了Excel表格。 但是我需要一些方向来捕获我正在阅读的单元格的格式,并将相同的格式应用于我正在写入的单元格。 以下是我所尝试过的 – #Open excel sheet & read from tab1 rb = open_workbook(r'C:\Users\abc\excel.xls', formatting_info=True) sheet = rb.sheet_by_name("tab1") #Search the excel sheet for the string and return location of Cell def searchStringCell(searchString): for i in range(sheet.nrows): row = sheet.row_values(i) for j in range(len(row)): if row[j] == searchString: return i,j # Search string to be […]

python xlutils / xlwt / xlrd / excel – 不能修改复制的工作表

我正在使用xlutils和复制工作表。 下面的代码成功复制第一个工作表并添加2个副本,但是当我写入到每个工作表时,它会将更改应用于所有工作表副本以及原始。 所以下面的例子中,所有3个工作表中第3行,第0/1列的值是“test2”。 有谁知道我在这里做错了吗? 我也尝试添加每个克隆,然后尝试一个workbook.get_sheet(id).write(x,x,x)和完全相同的事情发生。 workbook = xlutils.copy.copy(xlrd.open_workbook(xls_out, formatting_info=True)) tmp_workbook = copy(workbook) copied_sheet = copy(tmp_workbook.get_sheet(0)) copied_sheet.set_name("tmpsheet") copied_sheet.write(3, 0, 'test1') copied_sheet.write(3, 1, 'test1') workbook._Workbook__worksheets.append(copied_sheet) copied_sheet = copy(tmp_workbook.get_sheet(0)) copied_sheet.set_name("tmpsheet2") copied_sheet.write(3, 0, 'test2') copied_sheet.write(3, 1, 'test2') workbook._Workbook__worksheets.append(copied_sheet) workbook.save(xls_out)

比较不完整的date列表和参考date列表

我知道这是可能的。 我知道有一个简单的解决scheme,但我所尝试的一切都失败了。 这是交易: 我有一个Excel格式的数据集,包含939,019个气象站logging(行)。 date/时间间隔从1993年1月29日16:30至2013年6月30日24:00,每10分钟一class。 如果我做math,显然有缺失的行。 我需要知道失踪的date/时间。 如果我有一些能够返回缺失间隔的开始date/时间和结束date/时间的小程序/脚本,那将会很酷。 不过,我只想对缺失的date/时间列表感到满意。 为了弄清楚,我想,哦,我需要的只是一个参考列表,用来比较列表中缺less的date,并有一些标记或返回空白的方法。 所以,在Excel中,我创build了一个与气象站数据相邻的列,并在第一行填入开始date。 随后的行只是添加10分钟到它上面的单元格。 不幸的是,在这20年的时间里,10分钟的时间间隔是excel可以处理的。 别担心。 它变得足够接近(2013年6月6日10:50)。 无论如何,我尝试了excel中的MATCH函数,但是这样做太长了。 在我input的时候,它已经达到了3%(使用12个处理器)。 我有30个气象站(date范围相同)要做。 我希望我能find一个更快的方法来做到这一点。 所以,我接下来尝试了Acess。 我导入的文件(气象站数据和一个单独的参考date列表)在Access中的表,并认为我只是做一个UNMATCHED查询,但由于某种原因(无论我如何格式date列(date/时间,序列数字),查询返回几乎所有行不匹配。不知道为什么,它确实做到了这一点,但显然是错误的。 我然后想 – Python! 那会做的,对吧? 但我是一个GIS人员。 我只使用Python示例脚本来运行地理处理工具(或使用ESRi的模型构build器)。 我真的不知道从哪里开始。 任何指针?

为什么这个Python循环无法输出到下一个可用的Excel行?

首先,最重要的是:提前感谢您的帮助。 我是一个总编程新手,我的代码将反映这一点。 我将尝试描述我正在尝试做什么,并显示代码。 再次感谢您的时间和解释。 目标:我想让python打开一个现有的excel文件(output.xls),然后在该文档的下一个可用行中input一个值(在这种情况下,'testing文本')。 我试图使用'while'循环和'if'语句来完成这个任务。 虽然既不返回错误,也不能正确地将输出移动到第二行。 这是我得到的。 from xlrd import open_workbook from xlutils.copy import copy import xlwt wb = open_workbook('output.xls',formatting_info=True) sheet = wb.sheet_by_name("sheet 1") #This is the simple test text here. a = 'just a test' rb = copy(wb) ws = rb.get_sheet(0) row = 0 cell = sheet.cell(row,4) 我在下面想说的是-WHILE-单元格不是空白的(types6),然后在行中加一个并重复。 IE:继续下去,直到你在第四栏中空白。 while cell.ctype != 6: […]

只使用Python复制XLS的工作表以成为新XLS中的新工作表?

使用下面的Pythontesting代码,我试图将一个Excel( *.xls )文件中的唯一工作表复制到一个工作表的新Excel文件。 input电子表格如下所示: from copy import deepcopy from xlrd import open_workbook from xlutils.copy import copy as copy from xlwt import Workbook rb = open_workbook(r"C:\Temp\test1.xls",formatting_info=True) wb = copy(rb) new_book = Workbook() r_sheet = rb.sheet_by_index(0) sheets = [] w_sheet = deepcopy(wb.get_sheet(0)) w_sheet.set_name("test1") for row_index in range(0, r_sheet.nrows): for col_index in range(0, r_sheet.ncols): cell_value = r_sheet.cell(row_index, col_index).value […]