目录
Excel的操作在python中有多个模块,为了能够快速使用,选择了相对简单且功能全面的模块来介绍。
1.xlrd-Excel的读模块
安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlrd==1.2.0
导入: import xlrd
使用
book=xlrd.open_workbook(excel文件)
获取工作簿
读取工作簿的内容
import xlrd book=xlrd.open_workbook("小小小向日葵.xlsx") sheet0=book.sheet_by_index(0) print("总行数:",sheet0.nrows) print("总列数:",sheet0.ncols) for s in sheet0.get_rows(): #print(s) values=[] for i in s: values.append(i.value) print(values)
xlsxwriter-Excel的写模块
安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlsxwriter
导入 import xlsxwriter
使用
#生成excel对象
book=xlswriter.Workbook("Excel文件名")
#创建工作簿
sheet=book.add_sheet(工作簿)
demo:复制Excel
# coding:utf-8 import xlrd import xlsxwriter def copy_excel(path,newfile): #读取Excel book=xlrd.open_workbook(path) sheets=book.sheets() newbook = xlsxwriter.Workbook(newfile) for sheet in sheets: sheetname=sheet.name #根据名称读取工作簿 sheet = book.sheet_by_name(sheetname) #创建新的工作簿 newsheet=newbook.add_worksheet(sheetname) #读取工作簿数据 for index,row in enumerate(sheet.get_rows()): print("index:{},rows:{}".format(index,row)) for sub_index,sub_row in enumerate(row): newsheet.write(index,sub_index,sub_row.value) newbook.close() if __name__ == '__main__': copy_excel("医生信息.xlsx",newfile="医生信息1.xlsx")
生成图表
add_series参数
图表的样式
demo:生成图表
# coding:utf-8 import xlsxwriter if __name__ == '__main__': book=xlsxwriter.Workbook("图表Excel.xlsx") sheet=book.add_worksheet("图表") data=[ ["优秀","良好","中","差"], [100, 200, 5, 10] ] sheet.write_column("A1", data[0]) sheet.write_column("B1", data[1]) #创建图表:饼图 chart=book.add_chart({"type":"pie"}) chart.add_series({ "categories":"=图表!$A$1:$A$4", "values":"=图表!$B$1:$B$4", "name":"学生成绩占比" }) chart.set_title({"name":"学生成绩占比"}) sheet.insert_chart("A10",chart) book.close()