最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长。
想着通过简单的方式,并且快速提取数据,就想到了Python。
Python操作excel使用的openyxl和熊猫对excel进行操作。
代码如下:
<代码> # !/usr/bin/env python # - * -编码:utf - 8 - * # @Time,,:2020-02-24下午03:43 # @Author: Zhanxing # @Site,,: # @File,,:提取字段. py # @Software: PyCharm 进口openpyxl 熊猫作为pd导入 从xlutils。复制进口复制 df=pd.read_excel (& # 39; 222. xlsx& # 39; sheet_name=& # 39; xxx # 39;) data=https://www.yisu.com/zixun/(df [[“XXX”、“XXX”]]) data.to_excel(“新。xlsx”,指数=False) 类Excel: def __init__(自我,excel_file): 自我。excel=openpyxl.load_workbook (excel_file) 自我。sheet_name=self.excel.get_sheet_names () 自我。表=self.excel.get_sheet_by_name (self.sheet_name [0]) def excel_read(自我): ”“” 返回excel每一行的生成器对象 返回: ”“” 产量从self.sheet.iter_rows (min_row=2) def运行(excel_file new_excel): ”“” :param excel_file:要处理的excel的路径 :param new_excel:处理后要保存的文件名 返回: ”“” excel=excel (excel_file) excel_line=(线对线excel.excel_read ()) 在excel_line线: 对于细胞行: 如果isinstance(细胞。价值,int): 继续 people_name=cell.value.strip (“[]”) .split (" ") num的范围(len (people_name)): 如果“XX”people_name (num): excel.sheet.cell(行=单元。行,列=细胞。列值=people_name (num)) 打破 excel.excel.save (new_excel) if __name__==癬_main__”: 运行(“new.xlsx”、“11. xlsx”) 代码>