python读取excel并写入excel_python如何读取文件夹下的所有文件

python读取excel并写入excel_python如何读取文件夹下的所有文件(1)方法一:#!/usr/bin/envpython3fromdatetimeimportdatefromxlrdimportopen_workbook,xldate_as_tuplefromxlwtimportWorkbookoutput_workbook=Workbook()output_worksheet=output_workbook.add_s

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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账号...

(0)


相关推荐

  • pycharm 换行_pycharm自动换行快捷键

    pycharm 换行_pycharm自动换行快捷键python脚本有时一行代码写的非常长,一个屏幕塞不下,左右拉动滚动条视觉不友好。第一种方法:python里有换行标识”\”,如jfdb=spark.read.format(“jdbc”).option(“driver”,mysql_driver).option(“url”,mysql_url).option(“dbtable”,”xxxxxxxxxxxxxxxxxxxxxxxx”).option(“user”,mysql_acount).option(“password”,mysql_pa

  • MFC简介_java void main

    MFC简介_java void main版权声明:www.gudianxiaoshuo.com原创文章版权–古典小说网         WM_CONTEXTMENU消息用来响应鼠标右键消息,它响应的不是鼠标右键按下消息,也不是鼠标右键弹起消息而是鼠标右键依次按下弹起后触发的消息。          因此,若程序还响应了鼠标右键按下的消息OnRButtonDown,且在此响应函数中有模特对话

  • 调用WinSCard 操作CCID读卡器 返回 错误码 0x00000006「建议收藏」

    调用WinSCard 操作CCID读卡器 返回 错误码 0x00000006「建议收藏」1.微软的定义为https://docs.microsoft.com/zh-cn/windows/win32/debug/system-error-codes错误的句柄ERROR_INVALID_HANDLE6(0x6)查看之前的工程是因为此次编译是设置了anyCPU,重新设置平台目标为X86即可,可能是因为WinSCard的dll只支持x86平台。…

  • sp_executesql接收返回多个参数实例

    sp_executesql接收返回多个参数实例近日做项目中需要在EXEC执行Sql字符串时动态的传入参数并接收返回值,于是研究了一下SqlServer中sp_executesql的使用方法,并做了如下的例子。在使用sp_executesql动态传入与接收返回参数时需注意以下事项,以避免大家走弯路。例子中@SQLString,@ParmDefinition一定要使用NVARCHAR类型,否则会报“过程需要参数××××为ntext/n

  • Android开发之AOP编程

    Android开发之AOP编程

  • String类和常量池内存分析例子以及8种基本类型[通俗易懂]

    String类和常量池内存分析例子以及8种基本类型[通俗易懂]该篇例子几乎涵盖了目前所有能解决的类型,以一种通俗的语言讲解出来。当然如果JVM内存基本问题不太会可以看这里:JVM内存的基本问题基本问题String类和常量池内存分析 8种基本类型的包装类和常量池String类和常量池1String对象的两种创建方式Stringstr1=”abcd”;Stringstr2=newString(“abcd”);Sy…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号