Tag: openpyxl

根据不同列中的值查找行号列表?

我正在一个项目中,我有一个xlsx的logging。 有些logging有多个实例。 喜欢这个: Id, Field 1, Field 2, Field 3 ABC01, 0.034, 0.044, 0.050 ABC01, 0.055, 0.065, 0.060 ABC01, 0.047, 0.082, 0.070 DEF02, 0.034, 0.044, 0.050 DEF02, 0.055, 0.065, 0.060 XYZ05, 0.047, 0.082, 0.070 我的目标是将字段3中具有最高值的每个实例的整行写入到一个新的xlsx中。 我也想要复制非复制的logging。 到目前为止,我已经使用了openpyxl来迭代第一列来创build一个值列表。 我为字段3创build了一个值列表。我创build了一个重复的ID值列表。 最后,如果我有一个行号列表,我知道如何将行写入一个新的woorkbook。 我需要的是如何获得字段3中具有最高值的ID的行号列表。 谢谢!

openpyxl读过滤数据的excel

使用openpyxl ,我正在阅读一个已经应用了一些filter的excel文件。 from openpyxl import load_workbook wb = load_workbook('C:\Users\dsivaji\Downloads\testcases.xlsx') ws = wb['TestCaseList'] print ws['B3'].value 我的目标是循环访问“B”列的内容。 有了这个,我将能够读取单元格'B3'的内容。 如果filter应用,在这种情况下,我不想从最初的单元格开始。 即在Excel中可见(在应用filter之后),那些我想要获取的。 在networkingsearch了一段时间后,发现ws.row_dimensions可以帮助visible属性,但仍然没有运气。 >>> ws.row_dimensions[1] <openpyxl.worksheet.dimensions.RowDimension object at 0x03EF5B48> >>> ws.row_dimensions[2] <openpyxl.worksheet.dimensions.RowDimension object at 0x03EF5B70> >>> ws.row_dimensions[3].visible Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'RowDimension' object has no attribute 'visible' 如何做到这一点?

我如何使用列表来写入一个Excel单元格范围使用openpyxl?

我目前有一个简单的列表包含整数: amounts = [5, 10, 15] 。 我想写这些值到Excel单元格中,而不必键入每个元素的语句。 目前,我有下面的代码,它写入列表的所有元素,但没有迭代,而是单独的语句。 import openpyxl from openpyxl import load_workbook amounts = [5, 10, 15] book = load_workbook("output.xlsx") sheet = book.active sheet["A2"] = amounts[0] sheet["B2"] = amounts[1] sheet["C2"] = amounts[2] print ("done") book.save("output.xlsx") 我明白我可以通过这样来定义一个单元格区域; cells = sheet["A2":"C2"] 。 我如何使用cells和amounts一起迭代,以便我可以将amounts[0]分配给A2 , amounts[1]到B2 ,等等。 这份名单实际上是更大的,只是为了问题而缩小了。

如何从Excel中读取和提取数据,并使用Python将其粘贴到文本文件中的现有文本中?

我想自动创build几个文本文件,其中包括一些我已经存储在一个Excel文件中的信息。 excel文件中存储了大量的信息,每个主题有一行和多个单元格,每个主题的信息将被写入不同的文本文件中。 来自excel文件的数据应该被粘贴在写在文本文件中的文本之间(见下面的代码)。 我已经做了一个代码,在每个文本文件中写入我需要的其他信息,但是我不知道如何从excel中获取数据到文本文件: import xlrd file = open("testfile.txt", "w") file.write("text1.\n") file.write("text2\n") file.write("text3\n") file.write("text4\n") wb = xlrd.open_workbook(r"C:Data.xls") 我不知道如何继续执行代码,让它通过excel文件逐行循环提取一些数据,粘贴到文本文件的文本中,closures文本文件并打开一个新的文件一样。 所以文本文件应该看起来像这样: text1 copied data from excel1 text2 copied data from excel2 text3 copied data from excel3 等等… 有人能帮我吗? 我很抱歉,如果这是基本的,我是新的python。 在Python 3.4.1中工作

get_squared_range从Excel中列表的列表

wb = openpyxl.load_workbook(filename = 'C:/Users/test.xlsx') sheet = wb['sheet1'] len=sheet.max_row vals1 = [v[0].value for v in sheet.get_squared_range(1,1,2,len)] vals2 = [v[1].value for v in sheet.get_squared_range(1,1,2,len)] 但我想有这样的 vals12 = [v[0].value,v[1].value for v in sheet.get_squared_range(1,1,2,len)] 其中vals12-是具有维度的matrix(len x 2)

如何写入多个表格到一个新的Excel中,而不会相互覆盖?

我试图把多个excel的列A写入一个新的excel列A(假设所有的excel都有一个工作表)。我已经写了一些代码,可以将一个excel的列A写入新的excel列A; 但如果有多个excel,新的excel的列A将被覆盖多次。 那么我怎样才能把所有的栏目一个接一个添加到新的excel表格中而不会相互覆盖呢? 以下是我的代码: import os, openpyxl path = os.getcwd() def func(file): for file in os.listdir(path): if file.endswith('.xlsx'): wb = openpyxl.load_workbook(file) sheet = wb.active colA = sheet['A'] wb = openpyxl.Workbook() r = 1 for i in colA: sheet = wb.active sheet.cell(row=r, column=1).value = i.value r += 1 wb.save('new.xlsx') func(file) 非常感谢!!

从一个范围复制样式到另一个范围?

我有一个excel文件,我用它作为模板,在需要时添加信息。 我有特殊的风格和合并,需要在几个单元格范围内完成,但是我现在正在做的方式(bruteforcing它)是非常缓慢的,当有大量的数据。 有没有办法我可以做得更好? for a in xrange(1, len(plans)): offset = 3 * a # Create blank templates for plans for x in xrange(5, 549): first_col_cell = recommended.cell(row=x, column=4) second_col_cell = recommended.cell(row=x, column=5) third_col_cell = recommended.cell(row=x, column=6) new_first_col_cell = recommended.cell(row=x, column=4 + offset) new_second_col_cell = recommended.cell(row=x, column=5 + offset) new_third_col_cell = recommended.cell(row=x, column=6 + offset) if […]

使用openpyxl创build一个字典,其中key将成为excel表格中的header_name

from openpyxl import * Variable_Model_Path=defaultdict(list) Sheet_Name=wb.get_sheet_by_name(Sheet) for row in Sheet_Name.iter_rows(): Row=[cell.value for cell in row] for cell_ind,cell in enumerate(Row): print cell 以上是我的示例代码。 我有一个Excel表格,其中包含标题var1,var2,var3。 我想创build一个字典{Var1:1,4,7,10},其中Var1将是头名称,值将是相应的列值。 我正在使用openpyxl module.Herevariables的名称和值将由用户给出,他们将是dynamic的。 Var1 Var2 Var3 1 2 3 4 5 6 7 8 9 10 11 12

在文件被“打开文件”菜单select并加载之后,如何将Excel单元格值加载到tkinter GUI中的空文本框中?

我用tkinter构build了一个GUI。 有两个button,一个用于加载Excel表格并parsing所有单元格并打印它们的值。 另外,我有一系列带有标题的空文本框。 我想要实现的是将parsing的Excel单元格加载到variables上,然后用单元格值(即所讨论的variables)填充空的文本框。 任何指针将不胜感激。 这是我的代码到目前为止: #!/usr/bin/python3 from tkinter import filedialog from tkinter import * import openpyxl from openpyxl import load_workbook #Define Window Geometry main = Tk() main.geometry("1024×768") main.title("Window Title") #Define Empty Cells to be Filled in by Excel File & Calculation def OpenDataInputSpreadsheetCallBack(): main.iconify() file_path = filedialog.askopenfilename(initialdir = "file_path_goes_here",title = "Choose Input Spreadsheet",filetypes = […]

用新的数据甩掉excel数据

我被卡住了…我的Python脚本刮伤了一个网站的信息,然后使用空白模板xlsx我保存在根目录。但我不知道得到的脚本,以覆盖前几天的数据。 它只是在前一天的数据下添加新的数据。 这是我的代码 wb = openpyxl.load_workbook('College.xlsx') ws = wb.active sheet = wb.get_active_sheet() wb.save('merged.xlsx')