大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
(1)方法一:
#!/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')
这个方法比较直接,要考虑的问题是日期的格式化处理
(2)方法二:
#!/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()
(3)方法三:
#!/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,这样可以大大节省时间,提高效率。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186770.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...