Tag: openpyxl

Openpyxl,如何保存之前使用openpyxl .save()函数保存的.xlsx文件样式?

我有一个openpyxl库的问题。 问题: 当我使用xlwt时,打开了一些.xls文件,在那里写了一些单元格,我没有碰到的单元格样式保持不变。 但是现在我必须使用xlsx文件,所以我select了openpyxl。 但事情是,它完全剥离文件的风格,即使是我没有碰过的单元格,在用.save函数保存之后。 任何build议如何我可以保持风格?

使用openpyxl移动到相邻的单元格

我有一个algorithm,在单元格中find一个值,因为这种情况下,可以说这个单元格是C10。 我需要在D列的旁边看一个值,如果这个值不匹配我所需要的,从这个值上去一个单元格,并检查一个匹配等。我有这个到目前为止: bits = [] for row in ws.iter_rows(row_offset=4,column_offset=3): #skip over empty rows if row: #current cell is in column C cell = row[2] try: #find the lowest address in the excel sheet if cell.internal_value == min(address): #somehow match up in column d for '''loop and search col D''': if str(row[3].internal_value).upper == ('CONTROL 1' or […]

通过在openpyxl中的单元集合进行sorting

我正在阅读一个xlsx文件,像这样, import openpyxl book = openpyxl.load_workbook('test.xlsx') sheet = book.get_sheet_by_name(sheets['DATA']) allCells = sheet.get_cell_collection() print allCells allCells是openpyxl.cell.Cell对象的无序列表。 allCells看起来像, [<Cell Data.B4>, <Cell Data.A6>, <Cell Data.B6>, <Cell Data.A1>, <Cell Data.B5>, <Cell Data.A3>, <Cell Data.A2>, <Cell Data.A5>, <Cell Data.B1>, <Cell Data.B2>] 我想按列sorting这个列表,然后是行索引。 任何想法如何做到这一点?

数据不在Excel表中

我正在阅读一个现有的Excel文件,使用openpyxl包,并试图保存该文件,它得到了保存,但打开后,Excel文件没有数据存在。 我使用了下面的代码,我的要求是仅在use_iterators = True模式下打开文件 from openpyxl import load_workbook wb = load_workbook(filename = 'large_file.xlsx', use_iterators = True) ws = wb.get_sheet_by_name(name = 'big_data') for row in ws.iter_rows(): for cell in row: print cell.internal_value wb.save("large_file.xlsx") 你可以演示如何保存文件并在保存之后closures文件,而不会丢失数据

使用openpyxl将打印标题添加到工作表

我无法使用openpyxl将打印标题添加到我的Excel工作表中。 已命名的范围已正确创build,但它不能正确地成为打印标题的命名范围。 问题似乎是名为范围的打印标题的范围是不正确的(至less,如果我正确理解)。 如果我在Excel中手动创build打印标题,而不是作为工作表名称的作用域,范围始终为“工作簿”。 以下是我正在使用的代码的相关代码片段: wb = Workbook() ws = wb.active ws.add_print_title(1, rows_or_cols='rows') 据我可以告诉add_print_title只需要添加到命名范围的行数或列数,以及是否添加行和列。 就像我说的,这会正确地创build一个命名的范围,它不会将该命名范围放入打印标题中。 也许我错过了一些愚蠢的东西,但是我已经用尽了所有的Googlesearch和我的一点知识。

在Python的openpyxl包中为范围函数select特定的单元格

我有这个代码: from openpyxl import Workbook wb = Workbook() ws = wb.active for i in range(10): ws.append([i]) 这将range(10) (0-9值)从A1写入到A10 。 我们如何将这些细胞改变成其他细胞? 例如从B1到B10或从A1到J10 ?

使用Python调整Excel文档中的列

我目前正在用Python创build一个Excel文档。 我创build了Excel文档,但是我不确定代码中有什么问题,而不是正确调整列的大小。 有没有人有任何想法? def writerow(self, vals): ws = self.workbook.active this_row = self.numrows this_col = 1 for v in vals: cell = ws.cell(row = this_row, column = this_col) cell.value = v if ws.column_dimensions[get_column_letter(this_col)] < len(str(v)): ws.column_dimensions[get_column_letter(this_col)] = len(str(v)) this_col += 1 self.numrows += 1 self.worksheet = ws

使用openpyxl编辑电子表格。 不能写入单元格,“单元格是只读错误”

我试图用Openpyxl修改Python中的excel工作表,但是我一直收到一个错误,说单元是只读的。 我知道他们不是因为我过去两个月手动编辑这些电子表格而没有任何问题。 有没有人有可能发生什么的想法? 我只是试图用openpyxl来编辑表单,所以它是基本的代码。 rpt = file workbook = openpyxl.load_workbook(filename = os.path.join('./Desktop/',rpt), use_iterators = True) # Tells which wb to open wb=workbook #worksheets = wb.get_sheet_names() ws = wb.active ws['A1'] = 42 任何帮助将不胜感激。 谢谢! 感谢您的回应,澄清,我没有得到一个工作簿是只读的错误,它是专门提到的单元格。 我不知道是什么原因造成的,因为我知道工作簿不是只读工作簿。 我应该为python使用不同的excel库吗? 有更强大的Excel库吗? 谢谢!

Python for循环使用openpyxl

我正在使用openpyxl软件包来制作一个简单的工具,它将用来处理大型电子表格的excelinput,并使更小的更可用的input。 我曾尝试使用这种逻辑的许多不同types的循环,但我仍然无法得到它的工作。 目标是find任何值为1的单元格,并将该单元格旁边的单元格复制到新的工作簿中。 这是我的代码: # for loop data logic data = default['Default'] n = 1 for i in range(0,1000): for j in range(0,0): ds = data.cell(row = i, column = j) if ds == 1: n = n + 1 ds.cell(row = i, column = 0).value = separated.cell(row = n, column = 0).value 注:我input的数据有许多单元格在第一列中的数值为1。 这是这个循环正在testing的一列。 […]

当试图通过openpyxlparsing.xlsx时,“UnicodeEncodeError:”charmap'编解码器不能编码字符“

— 更新 — 我认为这个控制台日志指出的问题,但是它仍然不清楚如何解决它: >>> workbook = openpyxl.load_workbook('data.xlsx') >>> worksheet = workbook.active >>> worksheet['A2'].value u'\u041c\u0435\u0448\u043e\u043a \u0434\u0435\u043d\u0435\u0433' >>> print worksheet['A2'].value Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python27\lib\encodings\cp437.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_map) UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-4: character maps to <undefined> — 结束更新 — 我试图用openpyxl打印一些.xlsx单元格的值: […]