Tag: openpyxl

如何从pandas差异中获取细胞位置?

df1 = pd.read_excel(mxln) # Loads master xlsx for comparison df2 = pd.read_excel(sfcn) # Loads student xlsx for comparison difference = df2[df2 != df1] # Scans for differences 无论哪里都有差别,我想将这些单元位置存储在一个列表中。 它需要格式为'A1'(不是像[1,1]),所以我可以通过它: redFill = PatternFill(start_color='FFEE1111', end_color='FFEE1111', fill_type='solid') lsws['A1'].fill = redFill lsfh.save(sfcn) 我已经看过这样的解决scheme,但我不能得到它的工作/不理解它。 例如,以下不起作用: def highlight_cells(): df1 = pd.read_excel(mxln) # Loads master xlsx for comparison df2 = pd.read_excel(sfcn) # […]

比较openpyxl中两个电子表格中的一列

我正在做一个比较优秀的程序,但我似乎被卡住了。 我想比较电子表格中的两个excel文件。 这是我的代码: import openpyxl wb = openpyxl.load_workbook('C:\\Users\\Bill\\Desktop\\CK_Server_list_0.1.xlsx') ws = wb.active wb1 = openpyxl.load_workbook('C:\\Users\\Bill\\Desktop\\CK_Server_list_0.2.xlsx') ws1 = wb1.active for x in ws.iter_cols(max_col=1): for cell in x: print(cell.value, cell.coordinate) for row1 in ws1.iter_cols(min_col=1): if row1[0].value != ws.cell(row=x, column=1).value: print(str(row1[0].value) + ' is not equal to ' + str(ws.cell(row=x, column=1).value + ' ' + str(ws.cell(row=x, column=1).coordinate))) 每次我运行这个,都会给我一个错误,说tuple() < […]

用openpyxlsorting

我正在尝试使用openpyxl从最小到最大的列对列进行sorting。 我很乐意使用其他库来实现这一点。 这里是我现在的代码,但是,没有任何东西正在sorting。 from openpyxl import load_workbook wb=load_workbook('NotSorted.xlsx') ws1=wb.get_sheet_by_name('Mean') ws1.auto_filter.add_sort_condition('J2:J21') wb.save('Sorted.xlsx') 任何帮助是极大的赞赏!

在python中的Excel格式不加载工作簿

我想格式化一个Excel中的文档,我在同一个脚本中创build的Python。 我发现的所有答案都涉及到加载一个现有的工作簿到Python中,并从那里格式化。 在我的脚本中,我正在写整个非格式化的Excel表格,保存文件,然后立即重新加载文件到python格式。 这是唯一的解决方法,我可以find这样我可以有一个积极的工作表。 writer=pd.ExcelWriter(file_name, engine='openpyxl') writer.save()#saving my file wb=load_workbook(file_name) #reloading file to format ws=wb.active ws.column_dimensions['A'].width=33 ws.column_dimensions['B'].width=16 wb.save(file_name) 这工作来改变方面,如列宽,但我想一种方式来格式化页面,而不保存和重新加载。 当没有写入file_name时,是否有办法避开需要激活的工作表? 我想要一种方法来删除第2行和第3行,但可能是这样。

Openpyxl公式填写整列

我正在尝试将一个公式写入一个单元格并写入整个列。 但是,对于列中的每个单元格,它读取=(E2-F2)/ C2。 对于同一列上的每个单元格,我如何获取它(E3-F3)/ C3等? import openpyxl wb = openpyxl.load_workbook('yes.xlsx') Sheet = wb.get_sheet_by_name('Sheet1') n = '=(E2-F2)/C2' for cellObj in list(Sheet.columns)[6]: cellObj.value = n wb.save("row_creation_loop.xlsx")

使用python:openpyxl或任何其他库来读取excel表格中单元格的颜色

好的,这里是我需要帮助,我有一个Excel表,我已经使用了图案填充,可以在下面的图片中看到。 所以我想要在python脚本中做的基本上是读取每一行,以检查单元格是否有模式填充,如果它确实使用在这些特定的单元格中find的值做一些事情。 我已经设法做了第一部分是用openpyxl来读取excel表格。 我到目前为止所做的代码示例是这样的。 我只需要填写step3:if()部分,如果我需要导入另一个库是好的只是让我知道我需要做的:) from openpyxl import load_workbook #Step 3: Use this function to read the colours and do something def postDialog(A, B, C, D, E, F, G, H, I, J, K, L): if (A == redcolorfill): #HERE How to read pattern fill color of cell #Step 1: Execute open excel workbook ACTION1_File = […]

将数据从一个表单复制到另一个表单时出错

我试图从一些单元格的值复制,但它给了我这个错误,我甚至尝试使用def单元格(x,y),但仍然是相同的错误。 这是错误的: learn_tar.cell(row=learn_tar, column=1).value = sheet.cell(row=learn_tar, column=1).value AttributeError: 'int' object has no attribute 'cell' 资源: import openpyxl def cell(x,y): cell = sheet.cell(row=x,column=y).value return cell; def percentage(percent, whole): return int((percent * whole) / 100.0); ex = openpyxl.load_workbook("Final_excel2.xlsx") sheet = ex.get_sheet_by_name('Sheet1') num = [0,0,0] per = [0,0,0] for row in range(2,4798): if cell(row,1) == '1: Progression': num[0] […]

使用openpyxlparsing列

我有以下algorithm来parsing整数值的列: def getddr(ws): address = [] col_name = 'C' start_row = 4 end_row = ws.get_highest_row()+1 range_expr = "{col}{start_row}:{col}{end_row}".format(col=col_name, start_row=start_row, end_row=end_row) for row in ws.iter_rows(range_string=range_expr): print row raw_input("enter to continue") cell = row[0] if str(cell.value).isdigit: address.append(cell.value) else: continue return address 这崩溃在cell = row[0]说“IndexError:元组索引超出范围”,我不知道这是什么意思。 我尝试打印出行,看看它包含什么,但它给了我一个空的圆括号。 任何人都知道我错过了什么?

从.h5文件写入excel:性能

我将.h5文件中的一些数据保存到excel文件中。 我正在使用openpyxl。 而且,我可能不会以一种好的方式来做,但似乎是花费太多的时间来处理(相当)小的.h5文件。 你有什么build议? 我目前正在看看XlsxWriter,但它真的够好吗? 这是我正在使用的简单的代码: from openpyxl import Workbook from tables import * import os import time def saveExcel(pyTableName): t1 = time.time() wb_write = Workbook() wsh_write = wb_write.active r = 2 with openFile(pyTableName, 'r') as f: tab = f.getNode('/absoluteData') for row in tab.iterrows(): wsh_write.cell(row=r, column=1).value = row['sheet'] wsh_write.cell(row=r, column=2).value = str(row['IDnum'])+','+str(row['name']) wsh_write.cell(row=r, column=3).value = […]

Openpyxl优化单元search速度

我需要在Excel工作表中search包含某些模式的单元格。 这需要比我能处理更多的时间。 下面是我可以编写的最优化的代码。 由于数据模式通常是一排一排,所以我使用iter_rows(row_offset = x)。 不幸的是,下面的代码发现给定的模式在每个for循环(从毫秒开始,几乎一分钟)中的次数越来越多。 我究竟做错了什么? import openpyxl import datetime from openpyxl import Workbook wb = Workbook() ws = wb.active ws.title = "test_sheet" print("Generating quite big excel file") for i in range(1,10000): for j in range(1,20): ws.cell(row = i, column = j).value = "Cell[{},{}]".format(i,j) print("Saving test excel file") wb.save('test.xlsx') def FindXlCell(search_str, last_r): t […]