Tag: python

Openpyxl不能以只读模式closuresExcel工作簿

我希望能够在Python中读取一个Excel文件,在读完之后让Python脚本继续执行其他操作,同时可以在另一个进程中编辑Excel文件。 我正在使用python 2.7和openpyxl。 目前看起来像: from openpyxl import load_workbook def get_excel_data(): OESwb = load_workbook(filename = OESconfigFile, data_only=True, read_only=True) ws = OESwb.get_sheet_by_name('MC01') aValue = ws['A1'].value return aValue val = get_excel_data() 在我运行这个函数之后,即使我不想再用Python读取它,Excel文件仍然被locking以便从其他进程访问(它给出错误“'filename'当前正在使用,稍后再试”)。 我怎样才能closures我的脚本文件? 我已经尝试OESwb.close(),但它给出的错误“'工作簿'对象没有属性'closures'”。 我发现这个post,但它似乎并没有帮助。 编辑:它出现OESwb.save('filename.xlsx')的作品,但只有如果read_only = False。 但是,能够closures文件仍然处于只读模式是理想的。 看来这是一个openpyxl的bug,因为它应该在load_workbook完成后closures文件。

如何通过openpyxl更快地访问单元格值?

for rownum in range(0, len(self.sheet.rows) ): for cell in self.sheet.rows[rownum]: print cell.value 我想通过openpyxl逐行访问表格中的所有单元格值。 上面的代码工作,但太慢了。 我怎样才能更快地访问所有单元格的值?

与Excel中的button/macros自动交互

我试图find一种方法来创build一个python脚本,它可以findexcel文档中的所有button/checkbox,并随机与它们进行交互。 我试过使用pywinauto,但它没有find文件内的实际对象(可能是因为它是一个VB对象,而不是一个常规的GUI)。 如何使用python来完成? 或者也许有另一种方式来做到这一点? 这里是一个例如Excel的文件 谢谢。

如何将Openpyxl生成的xlsx输出到浏览器?

我使用了一段时间的计算器,它经常帮助我。 现在我有一个问题,我无法解决自己或通过search。 我试图输出我的excel文件,由浏览器中的openpyxl生成,就像我用phpexcel做的那样。 该方法似乎是相同的,但我只得到破碎的文件。 我的代码如下所示: from openpyxl.workbook import Workbook from openpyxl.writer.excel import ExcelWriter from openpyxl.writer.excel import save_virtual_workbook from openpyxl.cell import get_column_letter from StringIO import StringIO print 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' print 'Content-Disposition: attachment;filename="results.xlsx"' print 'Cache-Control: max-age=0\n' output = StringIO() wb = Workbook() ws = wb.worksheets[0] ws.cell('A1').value = 3.14 wb.save(output) print output.getvalue() #print save_virtual_workbook(wb) 我使用版本1.5.8和Python 2.7。 没有一种方法可行。 当我只是从桌面而不是浏览器使用它,它完美的作品。 […]

AttributeError:'Sheet'对象没有属性'write'

我正在尝试在Excel文件中的单元格中写入一个string。 我的代码是 import xlwt import xlrd workbook = xlrd.open_workbook('my_workbook.xls') worksheet = workbook.sheet_by_index(0) worksheet.write(0,2,"string") 当我正在寻找一个解决scheme,我leardned,这可能是因为我的xlwt库有一个旧版本。 但是当我检查它时,我得到了xlwt:0.7.5。 而我又一次被无知了。 任何帮助表示赞赏。

在Python中导入类似Excel的文本:自动parsing固定宽度的列

在Excel中,如果导入空白描述的文本,其中的列不完全排列,数据可能会丢失,如 pH pKa/Em n(slope) 1000*chi2 vdw0 CYS-I0014_ >14.0 0.00 LYS+I0013_ 11.827 0.781 0.440 0.18 您可以select将其视为固定宽度的列,Excel可自动计算列宽,通常具有相当好的结果。 Python中是否有一个能够以类似自动方式分割格式不正确的固定宽度文本的库? 编辑:这是什么固定宽度的文本导入在Excel中看起来像。 在第一步中,您只需选中“固定宽度”单选button,然后在第二步Excel中自动添加列分隔符。 唯一不能正确执行的时间是每行中每个列中断至less没有一个空白字符重叠。

如何从* .xlsm中提取表单并将其保存为Python中的* .csv?

我有一个* .xlsm文件,其中有20张。 我想保存几张单独的* .csv(格式化损失是好的)。 已经尝试xlrd-xlwt和win32com库,但无法通过。 任何人都可以提供一个代码片段,在Python中进行上述处理? 我有其他的Python依赖关系,所以没有其他语言可以工作。 谢谢

使用openpyxl模块写入电子表格创build一个损坏的电子表格,如何解决zipfile模块?

我有一个使用openpyxl写入电子表格的openpyxl 。 执行程序后,单元格按预期填充,但电子表格已损坏。 Excel修复电子表格,然后我可以再次查看它。 import openpyxl from openpyxl import load_workbook amounts, row = [1, 2, 3, 4, 5], 2 book = load_workbook("output.xlsx") sheet = book.active for i, value in enumerate(amounts): sheet.cell(column=i+1, row=row, value=value) print ("Sheet updating complete.") book.save("output.xlsx") 我曾尝试使用Microsoft的Open XML SDK生产力工具来比较一个好的和不好的文件,并注意styles.xml是缺less的。 我尝试使用从另一个问题获得的以下源代码复制这个,但它并没有解决我的问题。 import zipfile with zipfile.ZipFile('outputcopy.xlsx', 'r') as zgood: styles_xml = zgood.read('xl/styles.xml') with zipfile.ZipFile('output.xlsx', 'a') […]

生成表格模式,检查Excel(CSV)并导入数据

我将如何去创build一个检查Excel(或CSV)文件的MYSQL表模式。 有没有任何准备好的Python库的任务? 列标题将被清理为列名。 数据types将根据电子表格列的内容进行估算。 完成后,数据将被加载到表中。 我有一个〜200列的Excel文件,我想开始正常化。

如何写大集数据到xls文件?

我真的有很大的数据库,我想要写入xlsx / xls文件。 我已经尝试过使用xlwt ,但是它只允许写入65536行(我的一些表格有72k行以上)。 我也发现了openpyxl ,但是它工作得太慢了,并且为大的电子表格使用了大量的内存。 有没有其他的可能性来编写excel文件? 编辑:以下kennym的build议我使用优化阅读器和作家。 现在的内存消耗较less,但仍然很耗时。 现在出口需要超过一个小时(对于真正的大表 – 最多10 ^ 6行)。 还有其他的可能吗? 也许有可能从HDF5数据库文件导出整个表到Excel ,而不是一排一排地行 – 就像现在在我的代码?