精华内容
下载资源
问答
  • 前两天朋友叫我帮他处理excel文件,作为一个Python渣渣,脑中快速转了几下,完全可以解决,这也就为后面的倒腾打下了基础。大概是这么个问题:一共有上千个后缀名为xls的excel文件,需要把每个文件里面的sheet1-...

    花开时节,想见你

    小伙伴大家好,好久不见!最近一直在忙自己的事情。前两天朋友叫我帮他处理点excel文件,作为一个Python渣渣,脑中快速转了几下,完全可以解决,这也就为后面的倒腾打下了基础。

    大概是这么个问题:一共有上千个后缀名为xls的excel文件,需要把每个文件里面的sheet1-sheet6删除。

    首先一看到这个就想起了Pandas库,奈何自己不是很熟悉,此时记得小学老师告诉过我,可以用openpyxl这excel处理的库,小编心中窃喜,连忙感谢小学老师,这个时候相信用过这个库的小伙伴已经开始知道为我后面的悲剧打下了基础。

    之前并没有接触过这个库,于是乎百度了删除sheet的源码,自己修改了一下,便完成朋友的要求。于是乎,开始运行代码。悲剧来了,表示不支持xls的excel文件,懵了,查了官网,如下图,只支持xlsx和xlsm这两个格式。源码放在下方。

    c1cae634f42f1e887390d31413569245.jpg

    import openpyxlimport os,sys#定义函数def main(): #将文件名读入列表中 dirs = os.listdir() #开始循环删除sheet for name in dirs: if name !="Delete_sheet.py": sExcelFile = name wb = openpyxl.load_workbook(sExcelFile) for sheet in range(6): ws = wb[f"Sheet{sheet+1}"] wb.remove(ws) wb.save(sExcelFile) else: continueif __name__ == "__main__": main() 于是乎,又开始百度,找到了一个VBA方法,可以直接把xls格式直接转化成xlsx格式。进程很是顺利。VBA源码如下

    '***********访问当前文件夹下所有子文件夹及文件,Dim iFile(1 To 100000) As StringDim count As IntegerSub xls2xlsx() iPath = ThisWorkbook.Path On Error Resume Next count = 0 zdir iPath For i = 1 To count If iFile(i) Like "*.xls" And iFile(i) <> ThisWorkbook.FullName Then MyFile = iFile(i) FilePath = Replace(MyFile, ".xls", ".xlsx") If Dir(FilePath, 16) = Empty Then Set WBookOther = Workbooks.Open(MyFile) Application.ScreenUpdating = False ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False WBookOther.Close SaveChanges:=False '解决不能close 文件问题 Application.ScreenUpdating = True End If End If NextEnd SubSub zdir(p) '访问当前文件夹下所有子文件夹及文件 Set fs = CreateObject("scripting.filesystemobject") For Each f In fs.GetFolder(p).Files If f <> ThisWorkbook.FullName Then count = count + 1: iFile(count) = f Next For Each m In fs.GetFolder(p).SubFolders zdir m NextEnd Sub

    把全部的格式转换完之后,开始用Python代码删除了多余的sheet文件。问题又来了,怎么把xlsx格式转成xls格式呢?小毕陷入了沉思,直接把VBA代码的改了一下,成功转成了xls格式,心中甚是欢喜。悲剧的又来了,朋友的电脑是2003版的EXCEL,直接打开乱码,于是有百度了一会儿,找到了官方的格式转换工具,如下图。这个工具转换效果比较的好,就是速度慢了一点,还有其他的功能,感兴趣的可以自己看看。

    20aa1b2bb4f37295b64c1ee92d73e4a3.jpg下载连接:

    https://otp.landian.vip/zh-cn/ 最后,这个问题才算解决。中间我用pandas转化过格式,转换的格式还是不能用。从这件事中,我想吐槽有些单位版本软件的版本太低了,能花点钱升级一下office的版本,xls格式的文档真的很不友善啊。最后提醒一下小伙伴,以后最好用xlsx格式的表格,不然后期的操作真的不友善。当然还有其他的库,比如Xlrd、xlwt、xlutils、xlwings、xlsxwriter、win32com、DataNitro。这些库都可以处理excel,知道的小伙伴可以在再看里面说一下看法哦。

    这期的内容到这里就结束了,希望大家喜欢,也希望大家能够大力支持,广告费差不多有六十了,打算来个抽奖,抽本有限元的书籍,最近正在计划这个事。如果有啥好的想法可以后台给我留言。

    97537e4e5e8ed70f880b182c236ed18b.jpg

    『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

    展开全文
  • 工作中经常会遇到一些每天都要进行的重复操作,没一点技术含量,做起来却费时费力,还时不时出点小错。为应对这种情况,有些人...我们来看看如何用Python处理excel数据:一、Python处理Excel的方式python对excel的操...

    工作中经常会遇到一些每天都要进行的重复操作,没一点技术含量,做起来却费时费力,还时不时出点小错。为应对这种情况,有些人会用VBA进行处理。但编辑了VBA功能的文件通用性不好,遇到领导、同事的excel未开启宏,就用不了。其实,用Python处理excel数据,比VBA更高效,而且还简单。我们来看看如何用Python处理excel数据:

    一、Python处理Excel的方式

    python对excel的操作是通过导入相应的功能库,然后利用库里的模块写代码实现的。与excel有关的库一般包括:xlrd、xlwt、xlutils、openpyxl、xlsxwriter,这五个库用法各异,综合来说,优先推荐opengyxl,不建议全部导入有备无患的想法。各库功能用法说明如下:

    1、xlrd:读取excel文件的库

    导入后,执行对excel文件打开、读取数据操作。比如:

    import xlrd # 导入xlrd库

    wb = xlrd.open_workbook(r'e:\test.xls')

    sht = wb.sheets()[0]

    aa = sht.name

    bb = sht.cell_value(1, 1)

    print(aa, bb)

    代码解析:

    1、导入xlrd库

    2、打开e:\test.xls文件,wb代表该打开的工作薄

    3、sht代表wb工作薄里第一个表单

    4、aa代表sht表单的表单名

    5、bb代表sht表单里第2行第2列单元格的值

    6、在终端输出aa、bb,检验运行效果。

    此时,若想修改bb单元格的值,是不可以的,因为导入的xlrd库只支持读取,不支持写入、修改。

    2、xlwt:向excel表格写入数据的库

    导入后,执行创建新表格,写入数据操作,比如:import xlwt

    wb = xlwt.Workbook()

    sht = wb.add_sheet('表1')

    sht.write(0, 0, '测试数据')

    wb.save(r'e:\python\创建表.xls')

    代码解析:

    1、导入xlwt库

    2、wb代表刚创建的工作薄

    3、sht代表在wb工作薄中创建表单,表单名为“表1”

    4、在sht表单中的a1单元格写入“测试数据”

    5、保存工作薄路径及文件名为:'e:\python\创建表.xls'

    3、xlutils:修改excel文件的库

    导入后,执行打开既有excel表格数据的修改等操作,比如:

    import xlrd

    import xlutils as cp

    wb = xlrd.open_workbook(r'e:\test.xls')

    aa = cp.copy.copy(wb)

    sht = aa.get_sheet(0)

    sht.write(1, 1, 'xxx')

    aa.save(r'e:\test.xls')

    代码解析:

    1、2、导入xlrd库和xlutils库

    3、打开'e:\test.xls'文件

    4、aa代表复制刚才打开的文件

    5、sht代表复制的文件第一个表单

    6、向sht表单第2行第2列写入“XXX”

    7、还是用原名保存文件,完成文件内容的修改。

    以上三个库第一次使用时可能会提示报错:

    提示未找到xlrd库

    这是因为系统里没有对应的xlrd库造成的,我们用pip方式先给系统里安装库:打开cmd命令,输入pip install xlrd

    回车,开始安装。稍等片刻,出现下面的界面即完成安装:

    再回到vscode界面,提示已经没问题了。

    同理,通过pip install xlwt,ipip install xlutils完成xlwt库和xlutils库的导入,就可以放心使用了。

    以上库存在的不足:

    1、三个库分别有各自的功能,一般需要同时使用才能满足实际使用,用起来比较麻烦。

    2,xlwt库和xlutils库写入和修改操作,都只能保存为.xls格式,若保存为.xlsx格式,则打开文件时会提示格式错误。

    3、写入操作后,未保存文件时读取不到刚写入的数据,读取的还是未写入之前的数据,只有保存后在读取才能得到正确结果。

    4、openpyxl库

    用opengyxl库操作excel,则能轻松解决上面三个库的不足,且代码更符合excel使用习惯。

    import openpyxl

    wb = openpyxl.load_workbook('e:\dest.xlsx')

    sht = wb['sy']

    print(sht['a2'].value)

    sht['a2'].value = '新名字'

    print(sht['a2'].value)

    wb.save('e:\dest.xlsx')

    代码解析:

    1、导入openpyxl库

    2、打开e:\test.xls文件,wb代表该打开的工作薄

    3、sht代表wb工作薄里名字为sy的表单

    4、读取输出sht表单a2单元格的内容

    5、给sht表单a2单元格写入数据“新名字”

    6、再次读取输出sht表单a2单元格的内容,会发现本次输出的就是刚才写入的'新名字'

    7、保存文件,不更改文件名。

    不足之处:不能操作.xls文件。

    5、xlsxwriter库:可在excel文件里写入并设置图表的库,有图表要求的,后期专题学习。

    6、com调用Excel的API库:通过COM调用,实现Python对excel操作的方法,写法与VBA非常相似,个人认为还不如python的openpyxl好用,且设置过程相对复杂,以后有机会再介绍。

    理论结合实际,我们用一个真实案例来体验一下python处理excel数据的感觉:

    文件“删除最小值.xlsx”中,(A:D)四列数据,希望删除每行的最小值,保留三个值,写入到后面(F:H)列中。

    删除最小值.xlsx

    1、导入openpyxl库来处理:import openpyxl

    2、打开文件,定义表单:

    wb = openpyxl.load_workbook('e:\删除最小值.xlsx')

    sht = wb['数据']

    3、数据处理(请自动忽略粗糙的逻辑思路)for i in range(2, 8):

    minnum = sht.cell(i,1).value

    if sht.cell(i, 2).value < minnum:

    minnum = sht.cell(i,2).value

    if sht.cell(i,3).value < minnum:

    minnum = sht.cell(i,3).value

    if sht.cell(i, 4).value < minnum:

    minnum = sht.cell(i, 4).value

    k = 0

    for j in range(1, 5):

    if sht.cell(i, j).value > minnum:

    k = 1

    sht.cell(i, k 5).value = sht.cell(i, j).value

    print(sht.cell(i, k 5).value, end=' ')

    print()

    4、保存文件:

    wb.save('e:\python\删除最小值.xlsx')

    运行后通过print代码在终端显示了结果:

    打开表格,数据已经完成了填入:

    总结:

    总的来说,用openpyxl库让python处理excel还是比较容易的,符合python容易上手的特点,让大家把精力多放在问题解决思路上,而不是浪费在学习代码写法规则上。

    展开全文
  • 医维视界致力面向广大医生群体提供IT相关的解决方案包括大数据处理、数据分析、IT应用工具等等。...那么这里介绍一下如何使用python处理excel的常规操作,以及为什么excel就可以的操作非要用python呢因为如下几点:1...

    医维视界致力面向广大医生群体提供IT相关的解决方案包括大数据处理、数据分析、IT应用工具等等。充分利用AI等相关技术赋能医疗行业,提高医疗从业者的工作效率。 

    相信很多医生都要和excel打交道, 那么使用python来进行excel批量处理可以做到事半功倍。

    那么这里介绍一下如何使用python处理excel的常规操作,以及为什么excel就可以的操作非要用python呢 

    因为如下几点:

    1. 在操作excel不可以回退版本,没有版本的概念可能改到最后发现不是自己想要的但也不知道该回退到那个版本了

    2. excel在处理数据量稍大的时候就特别慢,经常一个删除列的操作就卡死了

    这里需要注意 python的环境下预先安装Pandas

    Pandas是Python的一个数据分析包,该工具为解决数据分析任务而创建。   

    1. 导入pandas库

    代码:

    import pandas as pd

    2. 导入excel的数据

    代码:

    data = pd.read_excel("./seer.xlsx",sheet_name = 0)

    3. 查看数据

    代码:

    data.head()

    输出效果:

    bf407584f3ff40a408e405e39deae2ee.png

    4. 查看首三行数据

    代码:

    data.head(3)

    输出效果:

    919abadf50d83c145b899b50b49e35ee.png

    5. 查看最后三行数据

    代码:

    data.tail(3)

    输出效果:

    506ebe88b6c8c925660f599ce9afb968.png

    6. 查看data各列的属性(包括均值,标准差,频率等)

    代码:

    data.describe(include = "all")

    输出效果:

    fb5291b625d9a42aea54200dd5f4a9ff.png

    7. 选择数据:选择第0到2行数据

    代码:

    data[0:2]

    3cb87804c666a6b37438e1c0adf14340.png

    8. 按照第一列排序数据(从低到高)

    代码:

    data.sort_values(by = "Histologic Type ICD-O-3")[0:5]

    784345c439ad04a32d073a8b40be3bda.png

    整体可以运行的代码块如下:

    import pandas as pd data = pd.read_excel("./important.xls",sheet_name = 0)print data.head()

    如有不解的地方欢迎后台留言哈

    想了解更多医疗数据数据分析方法,敬请关注公众号:医维视界

    75d8ccc4f14210cbc96072962466bb93.png

    展开全文
  • 前两天朋友叫我帮他处理excel文件,作为一个Python渣渣,脑中快速转了几下,完全可以解决,这也就为后面的倒腾打下了基础。 大概是这么个问题:一共有上千个后缀名为xls的excel文件,需要把每个文件里面的sheet1-...

    花开时节,想见你

          小伙伴大家好,好久不见!最近一直在忙自己的事情。前两天朋友叫我帮他处理点excel文件,作为一个Python渣渣,脑中快速转了几下,完全可以解决,这也就为后面的倒腾打下了基础。

          大概是这么个问题:一共有上千个后缀名为xls的excel文件,需要把每个文件里面的sheet1-sheet6删除。

         首先一看到这个就想起了Pandas库,奈何自己不是很熟悉,此时记得小学老师告诉过我,可以用openpyxl这excel处理的库,小编心中窃喜,连忙感谢小学老师,这个时候相信用过这个库的小伙伴已经开始知道为我后面的悲剧打下了基础。 

         之前并没有接触过这个库,于是乎百度了删除sheet的源码,自己修改了一下,便完成朋友的要求。于是乎,开始运行代码。悲剧来了,表示不支持xls的excel文件,懵了,查了官网,如下图,只支持xlsx和xlsm这两个格式。源码放在下方。

    84fe0feffc39791776637338c3ce7be5.png
    import openpyxlimport os,sys#定义函数def main():    #将文件名读入列表中    dirs = os.listdir()    #开始循环删除sheet    for name in dirs:        if name !="Delete_sheet.py":            sExcelFile = name            wb = openpyxl.load_workbook(sExcelFile)            for sheet in range(6):                ws = wb[f"Sheet{sheet+1}"]                wb.remove(ws)                            wb.save(sExcelFile)        else:            continueif __name__ == "__main__":    main()

         于是乎,又开始百度,找到了一个VBA方法,可以直接把xls格式直接转化成xlsx格式。进程很是顺利。VBA源码如下

    '***********访问当前文件夹下所有子文件夹及文件,Dim iFile(1 To 100000) As StringDim count As IntegerSub xls2xlsx()    iPath = ThisWorkbook.Path    On Error Resume Next    count = 0    zdir iPath    For i = 1 To count        If iFile(i) Like "*.xls" And iFile(i) <> ThisWorkbook.FullName Then            MyFile = iFile(i)            FilePath = Replace(MyFile, ".xls", ".xlsx")            If Dir(FilePath, 16) = Empty Then                Set WBookOther = Workbooks.Open(MyFile)                Application.ScreenUpdating = False                ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False                WBookOther.Close SaveChanges:=False      '解决不能close 文件问题                Application.ScreenUpdating = True            End If        End If    NextEnd SubSub zdir(p)       '访问当前文件夹下所有子文件夹及文件  Set fs = CreateObject("scripting.filesystemobject")  For Each f In fs.GetFolder(p).Files    If f <> ThisWorkbook.FullName Then count = count + 1: iFile(count) = f  Next  For Each m In fs.GetFolder(p).SubFolders      zdir m  NextEnd Sub

         把全部的格式转换完之后,开始用Python代码删除了多余的sheet文件。问题又来了,怎么把xlsx格式转成xls格式呢?小毕陷入了沉思,直接把VBA代码的改了一下,成功转成了xls格式,心中甚是欢喜。悲剧的又来了,朋友的电脑是2003版的EXCEL,直接打开乱码,于是有百度了一会儿,找到了官方的格式转换工具,如下图。这个工具转换效果比较的好,就是速度慢了一点,还有其他的功能,感兴趣的可以自己看看。

    955fc5d79f57ea598ec4e7de3b782077.png

    下载连接:

    https://otp.landian.vip/zh-cn/

        最后,这个问题才算解决。中间我用pandas转化过格式,转换的格式还是不能用。从这件事中,我想吐槽有些单位版本软件的版本太低了,能花点钱升级一下office的版本,xls格式的文档真的很不友善啊。最后提醒一下小伙伴,以后最好用xlsx格式的表格,不然后期的操作真的不友善。当然还有其他的库,比如Xlrd、xlwt、xlutils、xlwings、xlsxwriter、win32com、DataNitro。这些库都可以处理excel,知道的小伙伴可以在再看里面说一下看法哦。

          这期的内容到这里就结束了,希望大家喜欢,也希望大家能够大力支持,广告费差不多有六十了,打算来个抽奖,抽本有限元的书籍,最近正在计划这个事。如果有啥好的想法可以后台给我留言。

    你是最棒的!

    02b15293e25d6fdb592ec0b9d8abedd9.png

    让你在学习路上不再孤单

    我知道你在看

    7e1e3320dd4ffa3c05a44c545a49e7c2.png
    展开全文
  • 打开数据库连接 cursor = db.cursor() # 使用 cursor() 方法创建一个游标对象 cursor list = [] # 定义列表用来存放数据 book = open_excel(excel_file) # 打开excel文件 sheets = book.sheet_names() # 获取所有...
  • 当涉及到足够小的数据和足够简单的操作时,Excel是王道。然而,一旦发现自己在努力走出这些区域,它就会变成一种痛苦。当然,可以使用ExcelVBA来解决这些问题,但是在2020年,幸运的你不必这么做了!如果有办法把...
  • 工作中经常会遇到一些每天都要进行的重复操作,没一点技术含量,做起来却费时费力,还时不时出点小错。为应对这种情况,有些人...我们来看看如何用Python处理excel数据:一、Python处理Excel的方式python对excel的操...
  • 如何利用python处理excel数据文件

    千次阅读 2020-03-22 21:59:53
    在做本科毕业设计过程中,遇到了一个问题就是:需要将获取的刀位点信息输入到程序中,并且...看起来有点乱,但是还是可以使用的,数据数据之间是空格连接,接下来就是利用python程序处理txt格式的文件了: f =...
  • 工作中经常会遇到一些每天都要进行的重复操作,没一点技术含量,做起来却费时费力,还时不时出点小错。为应对这种情况,有些人...我们来看看如何用Python处理excel数据:一、Python处理Excel的方式python对excel的操...
  • Excel数据分析中最常用的工具,本篇文章通过pythonexcel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作。在Python中pandas库用于数据处理 ,我们从1787页的pandas官网文档中总结出...
  • 原标题:Python自动化如何处理excel文件数据python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在...
  • 本课程讲解如何使用python语言和openpyxl处理Excel的各种场景,读者可以使用Windows平台或macOS平台运行本课程案例。 本课程的主要内容如下: 基础场景 表格基本格式设置 核心函数使用 复制粘贴的妙 数据分析 ...
  • Excel是我们日常工作中经常用到的办公软件,在处理数据和表格方面有着优异的性能,那么能不能用python来操作Excel呢?答案是肯定的,openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl...
  • [python] view plain copyimport xlrdimport xlwtimport xlutils修改已经存在的excel文思路:首先,将需要更改的excel文开,xlutils包的copy将excel文件对象拷贝一份,然后进行修改操作具体代码实现:[python] ...
  • 工作中经常会遇到一些每天都要进行的重复操作,没一点技术含量,做起来却费时费力,还时不时出点小错。为应对这种情况,有些人...我们来看看如何用Python处理excel数据:一、Python处理Excel的方式python对excel的操...
  • 处理 Excel 比上章讲的处理 CSV、JSON、XML 文件要难多了,下面以 UNICEF(联合国儿童基金会) 2014 年的报告为例,来讲解如何处理 Excel 数据。相关文章:一、安装 Python 包要解析 Excel 文件,需要第三方的包 ...
  • python处理excel数据

    2021-04-17 18:24:52
    最近想将测试用例通过.CSV的格式批量导入我的自动化测试框架中,复习了一下如何用python处理excel文件,学习总结如下: 首先,要安装python+conda+镜像库....安装镜像库后就一劳永逸了,离线安装各种库只是确认pip...
  • Excel是我们日常工作中经常用到的办公软件,在处理数据和表格方面有着优异的性能,那么能不能用python来操作Excel呢?答案是肯定的,openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl...
  • 工作中经常会遇到一些每天都要进行的重复操作,没一点技术含量,做起来却费时费力,还时不时出点小错。为应对这种情况,有些人...我们来看看如何用Python处理excel数据:一、Python处理Excel的方式python对excel的操...
  • 在使用Python进行办公自动化操作时,会经常和Excel进行交互,本篇主要讲解了如何用Python读取Excel中图片以及如何用PythonExcel中写入图片,希望对Python的学习有所帮助。大家好,在使用Python进行办公自动化操作...
  • sql可以完全代替excel进行数据分析吗?python可以完全代替VBA吗?pipinstallpandasimportpandasaspdhelp(pd)一下pandas库吧另外, sql很难替代excel, 结合python或许可以怎么样通过python向SQL server数据库中插入...
  • 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析。 那么你知道如何使用Python读取Excel中的图片?又如何...
  • 已存在一个excel列表 对这个excel的每一列乘一个数值 比如第一列乘2 第2列乘3 第三列乘8.....(假设一个有三列) 乘完之后得到一个新的excel 再对这个新的excel的每行进行相加 得到一个数值 根据这个数值所在列的...
  • 原标题:如何用Python读取Excel中图片?公众号: 早起Python作者:刘早起大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格...
  • 前言本号之前已经分享过关于如何使用 Python 中的数据处理分析包 pandas 处理 Excel数据,本文继续分享一个小案例,此案例源于上周末帮朋友做的一个需求,并且是以 vba 编写解决,后来我 Python 再解决一次,...
  • 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析。那么你知道如何使用Python读取Excel中的图片?又如何...
  • 为什么要用Python处理数据?①快。之前发送数据日报都是从系统中导出数据,然后填充到基础表格中,展示表格里面的公式自动计算出数据。用过Excel的小伙伴都了解,很多公式(或者数组公式)或者大的基础数据,都会造成...
  • 前言本号之前已经分享过关于如何使用 Python 中的数据处理分析包 pandas 处理 Excel数据,本文继续分享一个小案例,此案例源于上周末帮朋友做的一个需求,并且是以 vba 编写解决,后来我 Python 再解决一次,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 556
精华内容 222
关键字:

如何用python处理excel数据

python 订阅