python读取excel文件的三种方法

数据大师
数据大师
数据大师
294
文章
0
评论
2021-08-3010:03:53 评论 581 2010字
摘要

本文介绍了python读取excel文件的三种方法

 

方法一:

#!/usr/bin/env python3from datetime import datefrom xlrd import open_workbook,xldate_as_tuplefrom xlwt import Workbookoutput_workbook=Workbook()output_worksheet=output_workbook.add_sheet("january_2017_repair")with open_workbook("E:\研究生学习\python数据\实验数据\Excel文件实验数据\sales_2017.xlsx") as workbook:worksheet=workbook.sheet_by_name("january_2013")for row_index in range(worksheet.nrows):for col_index in range(worksheet.ncols):#判断单元格里的值是否是日期if worksheet.cell_type(row_index,col_index)==3:#先将单元格里的表示日期数值转换成元组date_cell=xldate_as_tuple(worksheet.cell_value(row_index,col_index),workbook.datemode)#使用元组的索引来引用元组的前三个元素并将它们作为参数传递给date函数来转换成date对象,用strftime()函数来将date对象转换成特定格式的字符串date_cell=date(*date_cell[:3]).strftime("%Y/%m/%d")#将格式化的日期填充到原来的表示日期的数值的位置output_worksheet.write(row_index,col_index,date_cell)else:#将sheet中非表示日期的值赋给non_date_celld对象non_date_cell=worksheet.cell_value(row_index,col_index)#将sheet中非表示日期的值位置填充到相应位置output_worksheet.write(row_index,col_index,non_date_cell)output_workbook.save("E:\研究生学习\python数据\实验数据\Excel文件实验数据\sale_january_format_2017.xlsx")这个方法比较直接,要考虑的问题是日期的格式化处理

 

方法二:

#!/usr/bin/env python3import pandas as pd#读取工作簿和工作簿中的工作表data_frame=pd.read_excel("E:\研究生学习\python数据\实验数据\Excel文件实验数据\sales_2017.xlsx",sheet_name="january_2013")#新建一个工作簿writer=pd.ExcelWriter("E:\研究生学习\python数据\实验数据\Excel文件实验数据\sale_january_2017_in_pandas.xlsx")#使用to_excel将之前读取的工作簿中工作表的数据写入到新建的工作簿的工作表中data_frame.to_excel(writer,sheet_name="jan_2017_output_sheet",index=False)#保存并且关闭工作簿writer.save()

 

方法三:

#!/usr/bin/env python3import pandas as pd#读取工作簿和工作簿中的工作表writer_1=pd.ExcelFile("E:\研究生学习\python数据\实验数据\Excel文件实验数据\sales_2017.xlsx")data_frame= writer_1.parse("january_2013")#新建一个工作簿writer=pd.ExcelWriter("E:\研究生学习\python数据\实验数据\Excel文件实验数据\sale_january_2017_in_pandas.xlsx")#使用to_excel将之前读取的工作簿中工作表的数据写入到新建的工作簿的工作表中data_frame.to_excel(writer,sheet_name="jan_2017_output_sheet",index=False)#保存并且关闭工作簿writer.save()

后两种方法用的是pandas,这样可以大大节省时间,提高效率。

 

End.

作者:DM_learner

本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520)

更多文章前往首页浏览http://www.itongji.cn/

 

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: