操作excel
#操作2003excel import xlwt,xlrd #操作2007excel import openpyxl def write_excel_03(path,file_name,values): wb = xlwt.Workbook() #新建一个excel sheet = wb.add_sheet(file_name)#创建一个sheet页 row = 0#控制行 for value in values: col = 0#控制列 for cell in value: sheet.write(row,col,cell)#写数据 col+=1 row+=1 wb.save(path)#保存 print('03_excel write sucessful') def read_excel_03(path,file_name): print('excel_03 read start') wb = xlrd.open_workbook(path)#打开一个excel # sheets=wb.sheet_by_index(0)#根据顺序获取sheet ws = wb.sheet_by_name(file_name)#根据sheet名字获取sheet # print(ws.cell(0,0).value)#指定行列获取数据 # print(ws.ncols)#获取sheet中有多少列 # print(ws.nrows)#获取sheet中有多少行 # for row in ws.get_rows(): # print(row) # print(ws.row_values(0))#获取第一行 # print(ws.col_values(0)) # 获取第一列 print('data in rows') for i in range(ws.nrows): print(ws.row_values(i))#获取每一行的数据 print('data in cols') for j in range(ws.ncols): print(ws.col_values(j))#获取每一列的数据 print('------') for i in range(ws.nrows): for j in range(ws.ncols): print(ws.cell_value(i,j),'\t',end='') print() def write_excel_07(path,file_name,value): wb = openpyxl.Workbook() #创建excel sheet =wb.active sheet.title=file_name for i in range(4): for j in range(len(value[i])): sheet.cell(row=i+1,column=j+1,value=str(value[i][j])) wb.save(path) print('07_excel write sucessful') def read_excel_07(path,file_name): wb = openpyxl.load_workbook(path) #sheets = wb.get_sheet_by_name(file_name) #过时的写法 sheets = wb.worksheets[0] for row in sheets.rows: for cell in row: print(cell.value,'\t',end='') print() if __name__ == '__main__': values = [["名称", "价格", "出版社", "语言"], ["python基础", "29.9", "机械工业出版社", "中文"], ["数据分析", "66.99", "人民邮电出版社", "中文"], ["机器学习", "38.88", "机械工业出版社", "中文"]] path_2003 ='/home/chen/projects_src/excels/2003.xls' path_2007 ='/home/chen/projects_src/excels/2007.xlsx' sheet_2003 = '2003测试表' sheet_2007 = '2007测试表' write_excel_03(path_2003,sheet_2003,values) read_excel_03(path_2003,sheet_2003) # write_excel_07(path_2007,sheet_2007,values) # read_excel_07(path_2007,sheet_2007)