Tag: Excel的VBA的Excel的

迭代先前过滤的行openpyxl

我有一个Python代码写入加载Excel工作簿,遍历指定列中的所有行,将行保存在字典中,并将该字典写入.txt文件。 引用的vb脚本会在openpyxl执行之前打开工作簿,并将其过滤为只显示一些数据。 唯一的问题是,当openpyxl遍历工作簿时,它会logging每个值而不是过滤的数据。 例如,如果原始电子表格是: ABC 1 xxx 2 xyx 3 xxx 我筛选列B只显示包含“x”的行,然后保存该工作簿。 我想要openpyxl只遍历行1和3。 这里是我的代码: from openpyxl import load_workbook from openpyxl import workbook import os #sort using vba script os.system(r"C:\script.vbs") #load workbook path = 'C:/public/temp/workbook.xlsm' wb = load_workbook(filename = path) ws=wb.get_sheet_by_name('Sheet3') #make empty lists proj_name = [] proj_num = [] proj_status = [] #iterate through rows […]

Python脚本获取一列IP,在另一个工作簿中search匹配的匹配项,将匹配项放在另一个工作簿中。

我正在使用Excel工作表进行迁移准备。 我有一个工作簿/工作表,其中包含Netscalers(MAS)上存在的所有networking服务器IP。 我需要在我的Migration_prep工作簿/表中列出一列IP,并通过MAS表中的IP进行循环,并进行任何匹配并将其放入另一个工作簿。 我可以用文本文件做这些,但是我希望将所有的数据保存在excel表格中。 我已经阅读了“使用Python自动化枯燥的东西”这本书,但它并没有教会如何做到这一点。 我已经search谷歌和这里的答案,但没有甚至接近。 import openpyxl import xlrd import xlwt wb1 = openpyxl.load_workbook('LB_migration.xlsx') ws1 = wb1.get_sheet_by_name('Servers') #IP should be placed in Column 'J2' and continue down for as much as needd. wb2 = openpyxl.load_workbook('ME06.xlsx') ws2 = wb2.get_sheet_by_name('Dependency_Details') #Migration server IPs are listed in Column P starting with row 2. wb3 = openpyxl.load_workbook('MAS.xlsx') ws3 […]

效率:openpyxl还是VBA?

我试图找出一个类似的任务通常更快:使用VBA或openpyxl。 我知道这可能取决于你想要完成的任务,但是假设我有一个宽50格,高150,000格的桌子,我想把它从woorkbook A复制到工作簿B. 任何想法,如果python会做得更好,或者如果Excel更好地处理自己? 我的胆量告诉我,由于某些原因,Python应该相当快 : 为了让副本从工作簿复制到另一个, 都应该是开放和运行 ,而与python我可以简单地加载两个; VBA需要处理大量的任务,占用大量的系统资源 除此之外 ,我想知道是否可以对openpyxl脚本做进一步的改进,比如multithreading或者可能使用NumPy。 谢谢您的帮助!