Python可以读写Excel表格吗?当然。Python下有很多库可以做到,openpyxl是最好的之一。openpyxl设计精美,您一定会爱上它!不信请继续往下看:在工作簿启动openpyxl之前,不需要提前创建工作簿(Workbook)。只需导入Workbook类在内存中创建一个新的工作簿并开始操作:>>>fromopenpyxlimportWorkbook>>>wb=Workbook()新建的工作簿默认有一个预建的工作表,通过active属性是可用:>>>ws=wb.active注意如果工作簿包含多个工作表,该属性将返回第一个。使用create_sheet方法,可以创建新的工作表。创建可以追加在最后:>>>ws1=wb.create_sheet('Mysheet')也可以插入在前面:>>>ws1=wb.create_sheet('Mysheet',0)如果没有指定sheetname,它会自动生成,序列表如:Sheet、Sheet1、Sheet2等。当然如果觉得不合适可以修改:>>>ws.title='NewTitle'工作表标题标签的背景色默认为白色。这可以通过使用RGB颜色代码设置sheet_properties.tabColor属性来修改:>>>ws.sheet_properties.tabColor="1072BA??"一旦你命名工作表,你可以通过该名称找到它:>>>ws3=wb["NewTitle"]通过sheetnames属性,可以得到所有的工作表名称:>>>print(wb.sheetnames)['Sheet2','NewTitle','Sheet1']当然直接遍历所有工作表是为了——in更优雅:>>>forsheetinwb:...print(sheet.title)使用copy_worksheet方法复制工作簿中的工作表:>>>source=wb.active>>>target=wb.copy_worksheet(source)从文件加载如果你已经有一个工作簿,你可以通过openpyxl.load_workbook函数加载它:>>>fromopenpyxlimportload_workbook>>>wb2=load_workbook('test.xlsx')>>>print(wb2.sheetnames)['Sheet2','NewTitle','Sheet1']单个单元格操作工作表的数据处理,从修改单元格内容开始。可以通过工作表键直接访问单元格:>>>cell=ws['A4']该语句将返回单元格A4,如果不存在则创建它。可以直接赋值:>>>ws['A4']=10另一种方式是使用cell方法访问单元格,指定行和列:>>>cell=ws.cell(row=4,column=2,value=10)注释工作表创建后不包含任何单元格,单元格在第一次访问时自动创建。多单元格连续多个单元格可以切片得到:>>>cell_range=ws['A1':'C2']切片得到的单元格范围如下:以行或列为单位:#取出C列>>>colC=ws['C']#取出C到D列>>>col_range=ws['C:D']#取出第10行>>>row10=ws[10]#取出第5行to10>>>row_range=ws[5:10]也可以使用iter_rows方法:#从第1行遍历到第2行,每行最多返回3列>>>forrowinws.iter_rows(min_row=1,max_row=2,max_col=3):...对于行中的单元格:...print(cell)
