千家信息网

在python中如何导出数据到Excel

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容介绍了"在python中如何导出数据到Excel"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2026年11月04日在python中如何导出数据到Excel

本篇内容介绍了"在python中如何导出数据到Excel"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

问题描述

为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢?

具体步骤

Step 1 安装openpyxl

使用 pip install openpyxl 即可,但是在windows下安装的是2.2.6版本,在centos自动安装的是4.1版本,写的代码在windows下运行没问题,但centos上却报错了,说是ew=ExcelWriter(workbook=wb)少提供一个参数,于是果断在 237服务器上我已安装2.2.6版本的,问题解决。

pip install openpyxl==2.2.6

Step 2 直接上代码(Ps:代码中包含xlwt和openpyxl的两个实现版本)

# coding:utf-8 ''' # 希望对大家有帮助哈,请多提问题 create by yaoyz date: 2017/01/24 ''' importxlrd importxlwt # workbook相关 fromopenpyxl.workbookimportWorkbook # ExcelWriter,封装了很强大的excel写的功能 fromopenpyxl.writer.excelimportExcelWriter # 一个eggache的数字转为列字母的方法 fromopenpyxl.utilsimportget_column_letter fromopenpyxl.reader.excelimportload_workbook classHandleExcel(): '''Excel相关操作类''' def__init__(self): self. head_row_labels = [u'学生ID',u'学生姓名',u'联系方式',u'知识点ID',u'知识点名称'] """         function:             读出txt文件中的每一条记录,把它保存在list中         Param:             filename:  要读出的文件名         Return:             res_list:返回的记录的list     """ defread_from_file(self,filename):         res_list=[] file_obj=open(filename,"r") forlineinfile_obj.readlines():             res_list.append(line)         file_obj.close() returnres_list """         function:             读出*.xlsx中的每一条记录,把它保存在data_dic中返回         Param:             excel_name:  要读出的文件名         Return:             data_dic:返回的记录的dict     """ defread_excel_with_openpyxl(self, excel_name="testexcel2007.xlsx"): # 读取excel2007文件         wb = load_workbook(filename=excel_name) # 显示有多少张表 print"Worksheet range(s):", wb.get_named_ranges() print"Worksheet name(s):", wb.get_sheet_names() # 取第一张表         sheetnames = wb.get_sheet_names() ws = wb.get_sheet_by_name(sheetnames[0]) # 显示表名,表行数,表列数 print"Work Sheet Titile:",ws.title print"Work Sheet Rows:",ws.get_highest_row() print"Work Sheet Cols:",ws.get_highest_column() # 获取读入的excel表格的有多少行,有多少列         row_num=ws.get_highest_row()         col_num=ws.get_highest_column() print"row_num: ",row_num," col_num: ",col_num # 建立存储数据的字典         data_dic = {} sign=1 # 把数据存到字典中 forrowinws.rows:             temp_list=[] # print "row",row forcellinrow: printcell.value,                 temp_list.append(cell.value) print""             data_dic[sign]=temp_list sign+=1 printdata_dic returndata_dic """         function:             读出*.xlsx中的每一条记录,把它保存在data_dic中返回         Param:             records: 要保存的,一个包含每一条记录的list             save_excel_name:  保存为的文件名             head_row_stu_arrive_star:         Return:             data_dic:返回的记录的dict     """ defwrite_to_excel_with_openpyxl(self,records,head_row,save_excel_name="save.xlsx"): # 新建一个workbook         wb = Workbook() # 新建一个excelWriter         ew = ExcelWriter(workbook=wb) # 设置文件输出路径与名称 dest_filename = save_excel_name.decode('utf-8') # 第一个sheet是ws ws = wb.worksheets[0] # 设置ws的名称 ws.title ="range names" # 写第一行,标题行 forh_xinrange(1,len(head_row)+1):             h_col=get_column_letter(h_x) #print h_col ws.cell('%s%s'% (h_col,1)).value ='%s'% (head_row[h_x-1]) # 写第二行及其以后的那些行 i =2 forrecordinrecords: record_list=str(record).strip().split("\t") forxinrange(1,len(record_list)+1):                 col = get_column_letter(x) ws.cell('%s%s'% (col, i)).value ='%s'% (record_list[x-1].decode('utf-8')) i +=1 # 写文件         ew.save(filename=dest_filename) """         function:             测试输出Excel内容             读出Excel文件         Param:             excel_name:  要读出的Excel文件名         Return:           无     """ defread_excel(self,excel_name):         workbook=xlrd.open_workbook(excel_name) printworkbook.sheet_names() # 获取所有sheet printworkbook.sheet_names()# [u'sheet1', u'sheet2'] sheet2_name = workbook.sheet_names()[1] # 根据sheet索引或者名称获取sheet内容 sheet2 = workbook.sheet_by_index(1)# sheet索引从0开始 sheet2 = workbook.sheet_by_name('Sheet1') # sheet的名称,行数,列数 printsheet2.name,sheet2.nrows,sheet2.ncols # 获取整行和整列的值(数组) rows = sheet2.row_values(3)# 获取第四行内容 cols = sheet2.col_values(2)# 获取第三列内容 printrows printcols # 获取单元格内容 printsheet2.cell(1,0).value printsheet2.cell_value(1,0) printsheet2.row(1)[0].value # 获取单元格内容的数据类型 printsheet2.cell(1,0).ctype # 通过名称获取 returnworkbook.sheet_by_name(u'Sheet1') """         function:             设置单元格样式         Param:             name:  字体名字             height:  字体高度             bold:  是否大写         Return:             style: 返回设置好的格式对象     """ defset_style(self,name,height,bold=False): style = xlwt.XFStyle()# 初始化样式 font = xlwt.Font()# 为样式创建字体 font.name = name# 'Times New Roman'         font.bold = bold font.color_index =4         font.height = height         borders= xlwt.Borders() borders.left=6 borders.right=6 borders.top=6 borders.bottom=6         style.font = font         style.borders = borders returnstyle """         function:             按照 设置单元格样式  把计算结果由txt转变为Excel存储         Param:             dataset:要保存的结果数据,list存储         Return:             将结果保存为 excel对象中     """ defwrite_to_excel(self, dataset,save_excel_name,head_row): f = xlwt.Workbook()# 创建工作簿 # 创建第一个sheet: # sheet1 count=1 sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True)# 创建sheet # 首行标题: forpinrange(len(head_row)): sheet1.write(0,p,head_row[p],self.set_style('Times New Roman',250,True)) default=self.set_style('Times New Roman',200,False)# define style out the loop will work forlineindataset: row_list=str(line).strip("\n").split("\t") forppinrange(len(str(line).strip("\n").split("\t"))): sheet1.write(count,pp,row_list[pp].decode('utf-8'),default) count+=1 f.save(save_excel_name)# 保存文件 defrun_main_save_to_excel_with_openpyxl(self): print"测试读写2007及以后的excel文件xlsx,以方便写入文件更多数据" print"1. 把txt文件读入到内存中,以list对象存储" dataset_list=self.read_from_file("test_excel.txt") '''test use openpyxl to handle EXCEL 2007''' print"2. 把文件写入到Excel表格中"         head_row_label=self.head_row_labels save_name="test_openpyxl.xlsx"         self.write_to_excel_with_openpyxl(dataset_list,head_row_label,save_name) print"3.  执行完毕,由txt格式文件保存为Excel文件的任务" defrun_main_save_to_excel_with_xlwt(self): print" 4. 把txt文件读入到内存中,以list对象存储" dataset_list=self.read_from_file("test_excel.txt") '''test use xlwt to handle EXCEL 97-2003''' print" 5. 把文件写入到Excel表格中"         head_row_label=self.head_row_labels save_name="test_xlwt.xls"         self.write_to_excel_with_openpyxl(dataset_list,head_row_label,save_name) print"6.  执行完毕,由txt格式文件保存为Excel文件的任务" if__name__ =='__main__': print"create handle Excel Object"     obj_handle_excel=HandleExcel() # 分别使用openpyxl和xlwt将数据写入文件     obj_handle_excel.run_main_save_to_excel_with_openpyxl()     obj_handle_excel.run_main_save_to_excel_with_xlwt() '''测试读出文件,注意openpyxl不可以读取xls的文件,xlrd不可以读取xlsx格式的文件''' #obj_handle_excel.read_excel_with_openpyxl("testexcel2003.xls")  # 错误写法 #obj_handle_excel.read_excel_with_openpyxl("testexcel2003.xls") # 错误写法 obj_handle_excel.read_excel("testexcel2003.xls") obj_handle_excel.read_excel_with_openpyxl("testexcel2007.xlsx")

"在python中如何导出数据到Excel"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

文件 数据 内容 名称 格式 存储 单元 对象 文件名 样式 版本 知识 代码 字体 更多 结果 表格 问题 测试 输出 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 涨乐互联网科技 深圳天众互联网科技公司 长亮科技 互联网金融 科技互联网创业计划书 互联网实体化科技化 阿里巴巴算科技企业还是互联网 互联网金融科技公司干啥的 朱啸虎曾投资哪些互联网科技企业 互联网科技大赛获奖感言 科技赋能视角下互联网保险发展 徐州市互联网科技有限公司 保险科技服务互联网营销体系 沐思想互联网科技有限公司 锡山区互联网智能科技产品供应 广东鹅鹅鹅互联网科技有限公司 互联网硬科技公司 深圳互联网科技园地址 恒生互联网科技趋势 中国主要互联网科技公司 互联网科技快速发展优美句子 互联网公司 科技公司 互联网科技产品 互联网和黑科技的看法 湖北码尼互联网科技有限公司电话 用友工业互联网科技发展 中国互联网有什么科技 电子商务与互联网科技的关系 北京天晋互联网科技有限公司 陕西彩京云互联网科技有限公司 互联网科技自媒体灵感
0