当前位置: 欣欣网 > 码农

我用Python操作Excel的两种主要工具

2024-03-30码农

Python操作Excel分为两个主要形式,读写和交互式操作,可以用不同的第三方工具。

首先对于单纯地读写Excel,这种场景使用Pandas就足够了。

使用Pandas中的read_excel、to_excel函数,在Excel和DataFrame格式间进行转换。

import pandas as pd
# 读取excel文件,Excel->DataFrame
df = pd.read_excel('example.xlsx')
# 导出excel文件,DataFrame->Excel
df.to_excel('example.xlsx')

其他的诸如xlrd、xlwt功能单一,也没有Pandas好用。

Pandas针对excel设置了丰富的参数选项,将近30个,基本可以满足你大部分读写需求。

pandas.read_excel(io,sheet_name=0,*,header=0,names=None,index_col=None,usecols=None,dtype=None)

  • io:string类型文件的路径或url

  • sheet_name=0:指定的excel中的具体某个或某些表的表名或表索引

  • header=0:以哪些行作为表头,也叫做列名

  • names=None:自己定义一个表头(列名)

  • index_col=None:将哪些列设为索引.

  • usecols=None:指定读取excel中哪些列的数据,默认为None,表示读取全部

  • squeeze=False:默认为False,如果解析的数据只包含一列,则返回一个Series

  • dtype=None:接收dict,设置数据类型,具体到每列

  • 其他不常用的就不一一列举

    附 pandas学习文档:https://pandas.pydata.org/docs/

    其次是针对Excel文件本身的交互操作,比如修改格式、制作图表、透视表、宏等,这种操作需要用到专门的Excel处理库,像xlwings、openpyxl等。

    这里重点讲讲xlwings,xlwings是比较专业全面的Excel操作库,可以使用Python自动化操作Excel中的任何功能,比如可视化、格式处理、数据透视等。

    xlwings很好的将Python中的Pandas、Numpy、matplotlib与Excel进行交互,例如数据格式转换等。

    # 将matplotlib图像贴入Excel中
    import matplotlib.pyplot as plt
    import xlwings as xw
    fig = plt.figure()
    plt.plot([123])
    sheet = xw.Book().sheets[0]
    sheet.pictures.add(fig, name='MyPlot', update=True)

    xlwing还有excel插件,可以支持在excel中编写python代码,执行自动化任务。

    附 xlwings学习文档:https://docs.xlwings.org/zh-cn/latest/quickstart.html

    我之前发过一些Python操作excel的教程,包括了pandas、xlwings等库的详细使用方法和案例,供大家参考。



    加入知识星球 【我们谈论数据科学】

    600+ 小伙伴一起学习!