Tag: openpyxl

openpyxl – 只写工作表无法添加表

我想写一个新的工作簿,1张表,并添加一张表到该表。 AFAIK应该有可能,这个承诺应该做到这一点https://bitbucket.org/openpyxl/openpyxl/commits/6f440b0ed398 但是当我试图做到这一点,它失败的消息: KeyError: 'Unknown relationship: None' 我的代码片段是: from openpyxl import Workbook from openpyxl.worksheet.table import Table wb = Workbook(write_only=True) ws = wb.create_sheet() ws.append(['col1','col2','col3','col4']) ws.append(['val11','val12','val13','val14']) ws.append(['val21','val22','val23','val24']) ws.append(['val31','val32','val33','val34']) ws.append(['val41','val42','val43','val44']) table = Table(displayName="basetable", ref="A1:D4") ws.add_table(table) wb.save('table.xlsx') 完整的追溯是: File "<stdin>", line 1, in <module> wb.save('table.xlsx') File "./site-packages/openpyxl/workbook/workbook.py", line 354, in save save_dump(self, filename) File "./site-packages/openpyxl/writer/excel.py", line 313, in save_dump […]

复制和重新排列Excel中的列与Openpyxl

我有一个Excel文件中的数据,但它是有用的,我需要复制和粘贴到不同的顺序列。 我已经想出了如何打开和读取我的文件,并写一个新的Excel文件。 我也可以从原始数据中获取数据,并将其粘贴到我的新文件中,但不能在循环中。 这里是我正在使用的数据的一个例子,以显示我的问题,我需要A1,B1,C1彼此相邻,然后是A2,B2,C2等。 这是我创build的一个较小的testing文件的代码, import openpyxl as op wb = op.load_workbook('coding_test.xlsx') ws = wb.active mylist = [] mylist2 = [] mylist3 = [] for row in ws.iter_rows('H13:H23'): for cell in row: mylist.append(cell.value) for row in ws.iter_rows('L13:L23'): for cell in row: mylist2.append(cell.value) for row in ws.iter_rows('P13:P23'): for cell in row: mylist3.append(cell.value) print (mylist, mylist2, mylist3) […]

worksheet.iter_rows()不从电子表格中提取任何数据

我有一个使用openpyxl的iter_rows函数parsing数据的电子表格。 但是,当我循环使用以下表格: range_expr = "{col}{startrow}:{col}{endrow}".format(col='C',startrow=4,endrow=ws.get_highest_row()+1) for row in ws.iter_rows(range_string=range_expr): print row if len(row) > 0: cell = row[0] if str(cell.value).isdigit(): address.append(cell.value) else: continue print address raw_input("enter to continue") 第三行只是发出了空的括号,这意味着第一个if语句将总是评估为false,并且没有值会附加到地址。 我感到困惑的是,为什么当excel文档中有数据时, print row什么也不做。 在此先感谢大家。

Python – 将现有工作簿的格式应用于其他工作簿

我在Python中编写代码比较新,这是我的问题:1-当我更新现有.xlsx文件(使用openpyxl)的数据时,结果是一个.xlsx,它丢失了以前的所有格式。 我也尝试过使用.xls(使用xlwt和xlrd),但没有任何改变。 2-因此,我决定保留这个未格式化的结果文件,并应用模板.xls(x)文件的所有格式。 有没有一个简单的方法来保存第1步的格式? 如果不是,我怎样才能实现第二步? PS:我试图用xlutils.styles处理样式…但是我没有设法… 谢谢你的帮助!

如何使用openpyxl写入已经打开的excel文件

我使用下面的代码打开了一个excel文件: from openpyxl import load_workbook wb = load_workbook('path of the file') DriverTableSheet = wb.get_sheet_by_name(name = 'name of the sheet') 之后,我不得不追加在该Excel文件中的一些值.. 为此,我使用了下面的代码 DriverTableSheet.cell(row=1, column=2).value="value" 但它没有回应。 请大家指导如何在excel文件中写入/附加数据并保存该excel文件

OpenPyXl删除负载公式

我正在尝试使用OpenPyXL 打开一个.xlsx文件 读一个我知道包含一个数字的单元格 写一个不同的号码给那个单元格 将结果保存到相同或不同的.xlsx文件中 但是,即使我只执行第一个和最后一个步骤,生成的.xlsx文件也将删除所有的公式。 我的代码最简单的版本是这样的: from openpyxl import load_workbook wb = load_workbook(filename=file_path, data_only=False, guess_types=False) wb.save(file_path_new) 但即使没有改变任何东西,我仍然失去了所有的公式。 我已经尝试了不同的选项值。 我最大的问题是,只有在昨天,完整的代码(包括读写数字单元格)正在工作,保存的结果在该单元格中有新的编号(当在Excel中查看时)。 我从1.8.5更新到2.0.2,但不记得这是在原代码的工作之前还是之后。

小型Excel电子表格使用Python,Pandas和openpyxl加载非常缓慢

我有一个程序,从Excel电子表格(一个小~10张,每张大约100个单元格)读取一些数据,进行一些计算,然后将输出写入电子表格中的单元格。 程序运行很快,直到我修改为将其输出写入与input读取位置相同的Excel文件。 以前,我正在生成一个新的电子表格,然后手动将输出复制到原始文件。 在修改之后,脚本的运行时间从几秒钟跳到大约7分钟。 我运行cProfile进行调查,并得到这个输出,按累计运行时间sorting: ncalls tottime percall cumtime percall filename:lineno(function) 1 0.001 0.001 440.918 440.918 xlsx_transport_calc.py:1(<module>) 1 0.000 0.000 437.926 437.926 excel.py:76(load_workbook) 1 0.000 0.000 437.924 437.924 excel.py:161(_load_workbook) 9 0.000 0.000 437.911 48.657 worksheet.py:302(read_worksheet) 9 0.000 0.000 437.907 48.656 worksheet.py:296(fast_parse) 9 0.065 0.007 437.906 48.656 worksheet.py:61(parse) 9225 45.736 0.005 437.718 0.047 worksheet.py:150(parse_column_dimensions) 9292454 80.960 […]

在Excel中插入图像链接

当你想在Excel中插入一个图像,你只需要去“插入”标签,点击“图像”,然后从你的机器中select一个图像。 但是,另一种方法是在文本框中input一个URL,然后使用Word / Excel /您正在使用的任何Office文档将知道尝试联系该URL并下载图像。 麻烦的是:我需要以编程方式做到这一点。 我需要使用Python,我使用的是openpyxl。 我无法在openpyxl中find任何function,绝对不是在香草Python中。 有没有人有build议,我可以做到这一点? 我一直在networking上,这似乎不是一个经常谈论的话题。 任何想法都欢迎。

在Excel中编程外部链接的图像

这可能是一个远射,但我认为这是值得问。 我需要一种方法来编程插入外部链接的图像在Excel中,这意味着每次打开文件,电子表格将联系图像所在的url。 在Excel中手动执行这个操作很简单,但是我想以编程的方式执行,最好使用python。 我试过使用openpyxl和XlsxWriter库,但都没有这个特定的function。 我唯一的select是寻找Excel的源代码,所以我可以看到一个外部链接的图像是如何由Excel表示的。 我不认为微软公开源代码,是吗? 感谢您的任何build议

Python:如何从一个XLSXsearchstring到另一个XLSX文件?

我有两个XLSX文件(cookies和奶油),我想知道A列(在Cookie中)每行中的值是否存在于列D(在Cream中)的某一行中。 使用openpyxl,我派生了下面的代码: for mrow in range(1, Cookies.get_highest_row() +1): for arow in range(1, Cream.get_highest_row() +1): if cookies['A' + str(mrow)].value == cream['D' + str(arow)].value: print(cookies['A' + str(mrow)].value) break 即使这样做的工作如预期,这需要很长的时间来执行,因为cookies包含大约7000行,而奶油已经超过24000。 谢谢你的帮助