温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何操作Excel

发布时间:2022-02-24 11:42:23 来源:亿速云 阅读:107 作者:小新 栏目:开发技术

小编给大家分享一下Python如何操作Excel,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Python 操作 Excel

常用工具

数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件。因此用 Python 进行数据处理时,很容易会和 Excel 打起交道。得益于前人的辛勤劳作,Python 处理 Excel 已有很多现成的轮子,比如 xlrd & xlwt & xlutils 、 XlsxWriter 、 OpenPyXL ,而在 Windows 平台上可以直接调用 Microsoft Excel 的开放接口,这些都是比较常用的工具。

xlrd & xlwt & xlutils 介绍

xlrd&xlwt&xlutils 顾明思意是由以下三个库组成:

  • xlrd:用于读取 Excel 文件;

  • xlwt:用于写入 Excel 文件;

  • xlutils:用于操作 Excel 文件的实用工具,比如复制、分割、筛选等;

安装

pip install xlrdpip install xlwtpip install xlutils

导入

import xlrdimport xlwtimport xlutils

读取excel

# ----读取excel----data= xlrd.open_workbook(excel_file)

读取sheet

# ----读取sheet----# 通过索引顺序获取sheet table = data.sheets()[0]# 通过索引顺序获取sheet table = data.sheet_by_index(0))# 通过名称获取sheet table = data.sheet_by_name("sheet")# 返回book中所有sheet的名字names = data.sheet_names()# 传入索引或sheet名检查某个sheet是否导入完毕table.sheet_loaded("sheet")
table.sheet_loaded(0)# sheet名table.name# sheet列数table.ncols# sheet行数table.nrows

读取sheet的行

# 返回由rowx行中所有的单元格对象组成的列表table.row(rowx)# 获取rowx行第一个单元格的类型# 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空白表格)table.row(rowx)[0].ctype# 获取rowx行第一个单元格的值table.row(rowx)[0].value# 返回由rowx行中所有的单元格对象组成的列表table.row_slice(self, rowx, start_colx=0, end_colx=None)# 返回由rowx行中所有单元格的数据类型组成的列表table.row_types(rowx, start_colx=0, end_colx=None)# 返回由rowx行中所有单元格的数据组成的列表table.row_values(rowx, start_colx=0, end_colx=None)# 返回rowx行的有效单元格长度table.row_len(rowx)

读取sheet的列

#返回colx列中所有的单元格对象组成的列表table.col(colx, start_rowx=0, end_rowx=None)  

#返回colx列中所有的单元格对象组成的列表table.col_slice(colx, start_rowx=0, end_rowx=None)  

#返回colx列中所有单元格的数据类型组成的列表table.col_types(colx, start_rowx=0, end_rowx=None) 
   
#返回colx列中所有单元格的数据组成的列表table.col_values(colx, start_rowx=0, end_rowx=None)

读取sheet的单元格

# 返回单元格对象cell = table.cell(rowx,colx)# 单元格数据类型# 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空白表格)cell.ctype# 单元格值cell.value# 返回单元格中的数据类型table.cell_type(rowx,colx)# 返回单元格中的数据table.cell_value(rowx,colx)# 暂时还没有搞懂table.cell_xf_index(rowx, colx)

写入excel

# 使用xlutils将xlrd读取的对象转为xlwt可操作对象,table即上述xlrd读取的tableworkbook = xlutils.copy(table)# 或者如果你只是想创建一张空表workbook = xlwt.Workbook(encoding = 'utf-8')# 创建一个sheetworksheet = workbook.add_sheet('sheet')# 获取一个已存在的sheetworksheet = workbook.get_sheet('sheet')# 写入一个值,括号内分别为行数、列数、内容worksheet.write(row, column, "memeda")

workbook.save('memeda.xls')

带样式写入示例

workbook = xlwt.Workbook(encoding = 'utf-8')
style = xlwt.XFStyle()
font = xlwt.Font() # 创建字体font.name = 'Arial'font.bold = True # 黑体font.underline = True # 下划线font.italic = True # 斜体字font.colour_index = 2 # 颜色为红色style.font = font
worksheet.write(row, column, "memeda", style)
workbook.save('memeda.xls')

输出多种颜色字体

import xlwt

workbook = xlwt.Workbook(encoding='utf-8')def get_style(i):style = xlwt.XFStyle()
    font = xlwt.Font()  # 创建字体font.colour_index = i
    style.font = fontreturn style


sheet = workbook.add_sheet("memeda")for i in range(0, 100):
    sheet.write(i, 0, "memeda", get_style(i))
workbook.save('memeda.xls')

以上是“Python如何操作Excel”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI