Tag: openpyxl

从.xlsx获取单元格颜色

我正在使用openpyxl来读取excel文件。 我想从“xlsx”文件中获取单元格颜色。 我试图让颜色如此: wb = load_workbook('Test.xlsx', data_only=True) sh = wb[Sheet1] sh['A1'].fill.start_color.index #Green Color 我得到“11L”,但我需要获得RGB颜色,我怎么能做到这一点?

复制工作簿中的列,粘贴第二个工作簿的第二个工作表openPyXL

我是新来的openpyxl和开发一个工具,需要复制和粘贴列。 我有一个包含两套excel文件的文件夹。 我需要脚本遍历这些文件,find名为“GenLU_xx”(xx代表卡尔加里等地名称)的文件,然后复制Columns C&E(3&5)。 然后需要find名为“LU_Summary_xx”的相应文件(xx再次表示卡尔加里等地方的名称),并将复制的列粘贴到该工作簿的第二个工作表中。 它需要匹配GenLU_Calgary和LUZ_Summary_Calgary等所有文件。 到目前为止,我还没有能够找出复制和粘贴列的代码,看似双倍的迭代让我感到困惑。 我的Python技能是初学者,虽然我通常可以通过查看例子来找出代码。 在这种情况下,我在定位示例代码时遇到了一些问题。 刚开始使用openpyxl。 除了excel相关的部分,我已经完成了脚本。 希望有人可以帮忙。 任何帮助将非常感激! 编辑:新到StackOverflow以及所以不知道为什么我得到-2。 也许是由于缺less任何代码? 这是我到目前为止: import os, openpyxl, glob from openpyxl import Workbook Tables = r"path" os.chdir(Tables) for file in glob.glob ("LUZ*"): wb = openpyxl.load_workbook(file) ws = wb.active ws ["G1"] = "GEN_LU_ZN" wb.create_sheet(title="Sheet2") wb.save(file) 这只是给每个以LUZ开头的文件的G1添加一个值,并创build第二个表单。 正如我前面提到的,我还没有找出复制整个列的值的代码。 我想我可以迭代通过使用glob的“GenLU *”开始的所有文件,然后存储列3和5的值,但我仍然无法找出如何访问列的值。 我没有一个范围的行,因为每个工作簿将有两列不同的行数。 编辑2:我能够使用此代码访问特定列的单元格值: for file in glob.glob […]

当使用Openpyxl进行阅读时,索引超出范围

我试图用Openpyxl打开一个.xlsx文件,使用文档中的“优化阅读器”提示: # -*- coding: iso-8859-1 -*- from openpyxl import load_workbook wb = load_workbook(filename = r'/path/to/the/file.xlsx', use_iterators = True) 这给我以下错误: Traceback (most recent call last): File "/home/me/test.py", line 5, in <module> wb = load_workbook(filename = r'/path/to/the/file.xlsx', use_iterators = True) File "/usr/local/lib/python2.6/dist-packages/openpyxl/reader/excel.py", line 151, in load_workbook _load_workbook(wb, archive, filename, read_only, keep_vba) File "/usr/local/lib/python2.6/dist-packages/openpyxl/reader/excel.py", line 240, in _load_workbook […]

使用pandas.ExcelWriter()和engine = openpyxl保留条件格式

我试图从一个模板文件,包含条件格式的单元格范围,我将填充数据创build一堆excel文件。 我从一个excel文件创build一个数据框,其中包含了一个描述机场的一堆数据列的状态下的所有机场。 然后,我想为每个机场提供一个摘要文件,这个文件基本上是提取机场的行,并将其作为列添加到新的excel文件中,并附加一些列。 目前这一切正在工作。 但是,当我将数据框写入从模板excel文件创build的新文件时,新文件中的所有内容都被保留(其他填充的单元格仍然存在),除非条件格式不显示。 当我查看新文件中的条件格式规则时,规则在那里,但是格式部分被重置。 见下图: 模板文件格式: 在新文件中格式化(从模板复制并从数据框填充): 所以这是代码: 创build输出文件名,复制模板并用新名称保存: # ap is the single airport row extracted from the master frame (series here) ap_name = ap['Airport Name'].replace('/', '-').strip() ap_id = ap['Airport Identifier'] file_name = '{} ({}).xlsx'.format(ap_name, ap_id) output_ap_file = path.join(output_folder, file_name) shutil.copy(input_template_file, output_ap_file) # copy template and create new file 注意:如果我查看在上一步中创build的文件,格式正常工作。 我可以添加我的触发器单元格和行边框添加 清理新的机场系列,并把它作为一个数据框与其他cols: […]

在一个单元格中的多个样式在openpyxl

我编写了一个Python程序,使用openpyxl以特定格式生成.xlsx文件的发票。 我有一般的发票forms作为一个Excel工作簿,我的程序复制这个表格,并填写从另一个.txt文件读取的特定客户端的详细信息(如客户参考号码,价格等)。 该程序完美工作。 唯一的问题是表单包含一个单元格,它有多种样式:一半是红色,另一半是黑色,大小也有差异。 这个单元格不在我的程序中编辑(所有的发票都是一样的),但是在我的程序编辑剩下的工作表之后,单元格只保留第一个样式(红色字母)。 为什么openpyxl改变这个单元格,因为我不编辑它? 是否openpyxl支持多种风格,或者我必须拆分不同风格的单独的单元格中的字母?

Openpyxl ascii编码错误

我尝试从python中读取一个大的xlsm文件,代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- from openpyxl import load_workbook print ("01") wb = load_workbook("data.xlsm", data_only=True) print ("02") print (wb.get_sheet_names()) print ("03") 它返回: 01 /usr/lib/python3.5/site-packages/openpyxl/workbook/names/named_range.py:125: UserWarning: Discarded range with reserved name warnings.warn("Discarded range with reserved name") 02 Traceback (most recent call last): File "/home/mbp/Merve-Bitirme/main.py", line 8, in <module> print (wb.get_sheet_names()) UnicodeEncodeError: 'ascii' codec […]

python在列中search一个string,并从同一行返回另一个列值

我目前正在尝试编写一个脚本,用于评估电子表格以search列A中的string,然后一旦find该string,就在同一行中输出列I的值。 到目前为止,我有下面的代码,但它没有让我很远。 任何帮助将不胜感激。 import openpyxl wb = openpyxl.load_workbook("2016_SF.xlsx", data_only=True) ws = wb["161226-161228"] last_r=70 search_str = raw_input("What plant are you looking for? > ") last_r = cell.row def FindXlCell(search_str,last_r): for row in ws.iter_rows(row_offset=last_r): for cell in row: if (search_str == cell.value): print(search_str, last_r, cell.row,)

为什么我的openpyxl加载只能拉工作表中的一个单元格

我有这个openpyxl意图读取XLSX文档中的行。 但是由于某些原因,只能读取CELL A1中的值,然后结束。 我错过了什么? 谢谢 从openpyxl导入load_workbook Dutch = load_workbook(filename='languages/READY-Language Translation– August (SOS) Dutch_dut_Compared_Results.xlsx', read_only=True) Dws = Dutch.get_sheet_by_name(name='Ouput') for row in Dws.iter_rows(): for cell in row: print(cell.value)

超链接不能通过openpyxl工作

我在xlsx电子表格中使用以下代码片段进行超级链接。 从H2,H3,H4从xlsx读取文件名 search当前文件夹中的文件(脚本正在运行) 用现有内容创build与searchpath的超链接。 问题是。从超级链接到openpyxl甚至没有写= HYPERLINK(“path”,“真实文件名”)正在工作 提前致谢。 import os import openpyxl ColumnNum = 6 RowNum = 2 rootPath = "" def FindPathofFile(filename): for root, dirs, files in os.walk(rootPath): for file in files: if filename in file: return(os.path.join(root, file)) rootPath =input("Enter the Parent Path, Where the html files are present\n"); SpreadSheetName = input("Enter the SwCTS spread […]

如何在工作簿中定位图表

我正在运行python2.7,并使用openpyxl 1.8.6版本。 我能够生成一个图表很好,但无法find任何指示图表可以放在表格中的特定位置的任何东西。 任何援助将不胜感激。 我正在使用下面的代码来生成图表: ws = wb2.get_sheet_by_name('Traffic Data') rowcount = ws.get_highest_row() values = Reference(ws,(1,1), (rowcount – 1,1)) labels = Reference(ws,(0,1),(rowcount,0)) title = "Events recorded in " + str(datetime.datetime.strptime(str(runmonth), '%m').strftime('%B')) series = Series(values, title=title) chart.add_series(series) ws = wb2.get_sheet_by_name('Traffic Incidents') ws.add_chart(chart)