Tag: openpyxl

openpyxl不可读的内容

当使用openpyxl,如果我更新像这样的单元格样式: wb = Workbook() ws = wb.active a1 = ws['a1'] al.value = 'Hello World!' a1.style.font.name = 'Algerian' 在Excel中打开文件给出了一个错误: “Excel发现不可读的内容…” 日志文件: <?xml version="1.0" encoding="UTF-8" standalone="true"?> -<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> <logFileName>error107840_01.xml</logFileName> <summary>Errors were detected in file 'D:\Phocas\Phocas-Automation\test.xlsx'</summary> -<removedRecords summary="Following is a list of removed records:"> <removedRecord>Removed Records: Cell information from /xl/worksheets/sheet1.xml part</removedRecord> </removedRecords> </recoveryLog> 单元格显示正确的样式(font.name = Algerian),但在将文件分发给用户时,错误消息是不可取的。 这也只是一个例子,我得到同样的问题,如果我尝试像这样: a1.style.font.bold […]

使用openpyxl写入行?

我正在尝试在Python中使用openpyxl编写一个列表,但无济于事。 该列表包含说例如十个值。 我需要打开一个现有的工作表,并把这十个值写到他们自己的单元格中,一行。 我需要使用openpyxl,因为它覆盖现有工作表的function与xlsxwriter相比只能创build新的工作表。

使用openpyxl来更改Excel文档而不删除现有的数据和graphics

我试图用python将数据文件中的数据从openpyxl复制到excel模板。 我试着做一些testing来玩模板,发现当我保存文件时,它删除了大部分现有的单元格和所有的图表。 我在另一个问题阅读,openpyxl可能不适合编辑现有的电子表格。 有没有更好的select或方法让这个工作? 这是我正在处理的代码,只是为了查看我是否可以编辑电子表格: import openpyxl wb=openpyxl.load_workbook('file.xlsm', keep_vba=True) A=wb.get_sheet_by_name("A") g=A['F24'].value print g A['A1'].value=g print A['A1'].value wb.save('file2.xlsm') 当我打开file2时,大部分的格式化,数据和所有的图表都没有了。 编辑:所以我正在尝试xlwings,我找不到一个很好的教程或使用的术语列表。 任何人都知道我在哪里可以find?

parsing不同数量的标签的XML,以使长度相等的列表。 openpyxl和Beautifulsoup

我有一个XML文件,其中有包含作者,出版date,标签等标签的书籍logging。 我将parsing这个文件来创build3个列表,其中一个将有书名,另一个列表中的作者,最后是第三个列表中的标签,稍后我将使用openpyxl将这些列表写入Excel列。 问题是一些书籍logging没有标签标签。 使用普通的美味汤的parsing技术将产生相同长度的前两个列表,但标签列表将具有较短的长度。 我有三个问题: 1-如何创build所有三个长度相同的列表(没有标签标签的书籍为空)2-标签列表看起来像这样['Energy; Green Buildings; High Performance Buildings','Computing','Computing ;devise;绿色build筑“,…….]我已经创build了另外15个标题,标题名称是我的,例如”计算“和”devise“,有没有什么办法可以使用openpyXL为图书标签组合创build一个X标记或彩色单元格,例如,如果一本书中包含特定的标签,例如,如果第5行中的标题为“Architecture”的书具有“Design”标签,则需要单元格中的X标记或有色单元格(row'5',col'Design')。是否有更简单的方法来完成此任务(parsingXML文件并在Excel中高效编写)? 下面是XML文件的快照和我写的代码(也可以从这里下载XML文件和Python文件: http : //www.ranialabib.com/#! python/ icfwa <?xml version="1.0" encoding="UTF-8"?> <xml> <records> <record> <database name="My Collection.enl" path="My Collection.enl">My Collection.enl</database> <ref-type name="Book">1</ref-type> <contributors> <authors> <author>AIA Research Corporation</author> </authors> </contributors> <titles> <title>Regional guidelines for building passive energy conserving homes</title> </titles> <periodical/> <keywords/> <dates> <year>1978</year> </dates> <publisher>Dept. […]

使用defaultdict从.xlsx文件追加列表

我试图带有两个字段,ID和XY坐标的Excel文件,并创build一个字典,使每个ID是所有的XY坐标值的关键。 例如,excel文件看起来像这样:[1] [1]: http : //i.stack.imgur.com/P2agc.png 但是有超过900个oID值 我想最终的格式是[('0',[ – 121.129247,37.037939,-121.129247,37.037939,-121.056516,36.997779]),('1',[all,the,coordinates,with,oID,的,1]),( '2'[全部的,协调,与,OID的,2]等)。] 我正在尝试使用for语句遍历Excel表格来填充第一个200行的列表,然后将其放入默认字典中。 这是我迄今为止所做的: wb=openpyxl.load_workbook('simpleCoordinate.xlsx') sheet=wb['Sheet1'] from collections import defaultdict CoordDict = defaultdict(list) for i in range (1,201,1): coordinate_list=[(sheet.cell(row=i,column=1).value, sheet.cell(row=i, column=2).value)] for oID, xy in coordinate_list: CoordDict[oID].append(xy) print(list(CoordDict.items())) 它返回: [(11, ['-121.177487,35.49885'])] 只有excel表格的第200行,而不是整个的东西..我不知道我在做什么错了,这是与声明的东西? 我以错误的方式思考这个问题吗? 我是一个Python的总新手任何build议将是有益的!

加载Excel与几个工作表时出错

我有大量的.xlsx文件从我想要的外部数据库下载。 它有两个工作表,第一个工作表只对数据有一些评论,第二个包含数据。 我已经尝试使用以下两个选项打开Excel电子表格,但他们都给我一个错误。 删除第一个工作表时,该错误消失。 但由于我有> 350个文件,我不想手动删除所有这些工作表。 我试过的代码 from openpyxl import load_workbook wb = load_workbook('/Users/user/Desktop/Data_14.xlsx') 这给出了错误: InvalidFileException: "There is no item named 'xl/styles.xml' in the archive" 和: from xlrd import open_workbook book = open_workbook('/Users/user/Desktop/Data_14.xlsx') 这会给出非常长的错误信息(KeyError:9) 我认为这个问题是第一个Excel工作表中的公式错误。 工作表中的一个单元格说 – minimum percentage that must characterise the path from a subject Company up to its Ultimate owner: 50.01% 但它没有格式化为文本。 […]

将excel文件转换为pdf文件

我用openpyxl来自动生成154个excel文件。 一切都像魅力一样工作! 现在我需要将excel文件转换成pdf文件。 这可以自动完成,或者我需要手动吗? 注:重要的是我可以select定义边距和水平方向。 python中的解决scheme首选。 我正在使用OS X或Ubuntu。

每次脚本运行时插入新数据而不覆盖现有数据(Openpyxl:python)

我在使用openpyxl时遇到了麻烦。 我遇到的问题是: 我试图运行一个小时Excel报告使用我通过(BS4)在网上刮过的数据。 我已经将数据分配到一个列表中,可以解压缩以便在PowerShell和Excel中打印,但每次运行脚本时都会覆盖以前的数据。 我想知道如何在每次脚本运行时将数据打印到新行。 问题循环: c = 1 for cell_val in status: sheet1.cell(row=2, column=c).value = cell_val c += 1 print(c)

Openpyxl:迭代单元格的范围

我会写一个单元格的范围从列表中取得的一系列值。 视图 def create_excel(avg): wb = load_workbook('output/file_base.xlsx') ws = wb.active ws['D20'] = avg[0] ws['D21'] = avg[1] ws['D22'] = avg[2] ws['D23'] = avg[3] ws['D24'] = avg[4] ws['D25'] = avg[5] wb.save('out.xlsx') return 1 我会做这个使用循环,我已经尝试了以下内容: start, stop = 20,26 for index, row in enumerate(ws.iter_rows()): if start < index < stop: ws.cell[index] = avg[index] 但是它返回: list index out of […]

仅在加载工作簿时Openpyxl NotImplementedError

我一直在做一个程序来input一些数据到一个Excel文件使用Openpyxl加载一个现有的文件或创build一个新的文件的选项。 虽然创build一个新的文件允许我写入数据到Excel文件没有任何问题,但加载一个现有的文件,并试图写入新的数据到新行引发一个NotImplementedError与行: ws['A' + str(row)] = gene] 即使写入新文件也是如此。 任何帮助将不胜感激! 更新:感谢查理,删除use_iterator从: wb = load_workbook(filename=file_name+'.xlsx', use_iterators=True) ,代码让我写入文件。