赞
踩
(1)方法一:
- #!/usr/bin/env python3
- from datetime import date
- from xlrd import open_workbook,xldate_as_tuple
- from xlwt import Workbook
- output_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')
-
这个方法比较直接,要考虑的问题是日期的格式化处理
(2)方法二:
- #!/usr/bin/env python3
- import 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()
(3)方法三:
- #!/usr/bin/env python3
- import 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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。