在我们做平常工作中都会遇到操作excel,那么今天写一篇,如何通过python操作excel,当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库都有不同的区别,具体的区别,大家一起研究下哈。

xlrd模块

xlrd是对于Excel进行读取,xlrd 操作的是xls/xlxs格式的excel

安装

xlrd是python的第3方库,需要通过pip进行安装

pip install xlrd

读取excel数据

1、导入xlrd莫款

2、打开Excel完成实例化

3、通过下标获取对应的表(可以通过表名获取)

4、通过列,行或者坐标获取表格的数据

# coding:utf-8
import xlrd
# excel路径
excle_path = r'E:\123.xlsx'
# 打开excel读取文件
data = xlrd.open_workbook(excle_path)
# 根据sheet下标选择读取内容
sheet = data.sheet_by_index(1)
# 获取到表的总行数
nrows = sheet.nrows
for i in range(nrows):
print(sheet.row_values(i))

上面的是通过表的下标来选择读取的,当我们知道表的名称的时候,也可以通过表的名称进行读取

# coding:utf-8
import xlrd
# excel路径
excle_path = r'E:\123.xlsx'
# 打开excel读取文件
data = xlrd.open_workbook(excle_path)
# 根据sheet下标选择读取内容
sheet = data.sheet_by_index(1)
# 获取全部表的名称
sheet_names = data.sheet_names()
print('全部表名称')
print(sheet_names)
# 根据sheet名称选择读取内容
sheet1 = data.sheet_by_name('姓名')
# 获取到表的总行数
nrows1 = sheet.nrows
print('姓名表内容:')
for j in range(nrows1):
print(sheet1.row_values(j))

上面通过下标和名称都成功读取出来了数据,我们通过坐标来读取数据

# coding:utf-8
import xlrd
# excel路径
excle_path = r'E:\123.xlsx'
# 打开excel读取文件
data = xlrd.open_workbook(excle_path)
# 根据sheet下标选择读取内容
sheet = data.sheet_by_index(1)
# 通过坐标读取
A1 = sheet.cell_value(1,0)
print(A1)

xlrd中的其他用法

1、读取sheet的行数、列数

# excel路径
excle_path = r'E:\123.xlsx'
# 打开excel读取文件
data = xlrd.open_workbook(excle_path)
# 读取sheet行数据,通过下标获取
a = sheet.row_values(1)
# 读取sheet列数据,通过下标获取
b = sheet.col_values(1)

2、获取sheet的行数,列数

# coding:utf-8
import xlrd
# excel路径
excle_path = r'E:\123.xlsx'
# 打开excel读取文件
data = xlrd.open_workbook(excle_path)
# 根据sheet下标选择读取内容
sheet = data.sheet_by_index(1)
print('sheet名称:{}\nsheet列数: {}\nsheet行数: {}'.format(sheet.name, sheet.ncols, sheet.nrows))

xlwt模块

xlwt是对于Excel进行读取,xlwt操作的是xls格式的excel

安装

xlwt属于python的第3方库,需要通过pip进行安装

pip install xlwt

写入Excel数据

1、首先导入xlwt第3方库

2、创建一个workbook模块,相当于创建一个xlwt文件

3、通过add_sheet创建一个表格

4、使用write函数进行对表完成写的操作

5、把写完的数据导入到Excel中

# coding:utf-8
import xlwt
# excel路径
excle_path = r'E:\1234.xls'
# 创建一个Workbook模块
data = xlwt.Workbook(encoding='utf-8')
# 创建一个表格,cell_overwrite_ok=True 为不覆盖表,默认为False
sheet = data.add_sheet('test123',cell_overwrite_ok=True)
# 写入坐标为(0,0)内容为职位
sheet.write(0,0,'职位')
# 写入坐标为(1,0)内容为软件测试工程师
sheet.write(1,0,'软件测试工程师')
# 保存到excel中
data.save(excle_path)

找到excel的路径中打开查看,发现已经写入成功了

Xlwt的其他方法

其中xlwt这些操作Excel只是默认的方法,xlwt也可以更改写入内容的文字大小,颜色等操作

style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 创建字体
font.name = u'微软雅黑' # 字体类型
font.colour_index = 6 #字体颜色
font.underline = True #下划线
font.italic = True # 斜体
font.height = 400 #字体大小 200等于excel字体大小中的10
style.font = font #设定样式

如果哪些内容写入时需要更改上面的格式内容,可以在书写的后面加上方法

给大家举个小栗子

# coding:utf-8
import xlwt
# excel路径
excle_path = r'E:\12314.xls'
# 创建一个Workbook模块
data = xlwt.Workbook(encoding='utf-8')
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 创建字体
font.name = u'微软雅黑' # 字体类型
font.colour_index = 6 # 字体颜色
font.underline = True # 下划线
font.italic = True # 斜体
font.height = 400 # 字体大小 200等于excel字体大小中的10
style.font = font # 设定样式
# 创建一个表格,cell_overwrite_ok=True 为不覆盖表,默认为False
sheet = data.add_sheet('test123',cell_overwrite_ok=True)
# 写入坐标为(0,0)内容为职位
sheet.write(0,0,'职位',style)
# 写入坐标为(1,0)内容为软件测试工程师
sheet.write(1,0,'软件测试工程师',style)
# 保存到excel中
data.save(excle_path)

当然python操作Excel的方法不仅仅是这么多,还有更多的骚操作,等到我们用到的时候在一起学习哈

感觉安静写的对您有帮助的话,可以点个关注,持续更新中~~

最新文章

  1. 無間道III 終極無間
  2. JAVA-系统-【3】-java应用连接oracle正常,但是网页却报错java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
  3. 健忘vs总结
  4. Socket网络编程--FTP客户端
  5. poj3660 floyd
  6. 获取iframe外边数据
  7. CSS3学习之 transform 属性
  8. 关于iOS上的对象映射公用方法-备
  9. CSS凹型导航按钮
  10. 小米Java程序员第二轮面试10个问题,你是否会被刷掉?
  11. MPSOC之1——overview、开发板、工具
  12. DUMP101 企业级电商FE
  13. [android] 插入一条记录到系统短信应用里
  14. JMeter-Java压力测试工具-02
  15. Java 之 JavaScript (二)
  16. [Laravel] Laravel的基本数据库操作部分
  17. [转帖] securebootthemes 挖矿病毒的说明 http://blog.netlab.360.com/msraminer-qian-fu-yi-jiu-de-wa-kuang-jiang-shi-wang-luo/ 原文为毛不给一个专杀工具呢.
  18. SCC的奇葩算法——Kosaraju
  19. Linux下 磁盘扩容的两种方式
  20. 6-9 😢 5小时的debug: 从rails 命令运行超慢开始->删除rails->删除ruby->删除rvm->安装上rvm->安装上ruby

热门文章

  1. RDP矢量数据压缩算法
  2. 基于H7的串口WIFI模块ESP8266的TCP客户端例子和操作说明(AP兼STA模式)
  3. Vue自定义指令使用场景
  4. 从源码角度看 PHP 字符串类型转换
  5. Class文件结构-属性表
  6. SAP_ECC6_EHP7_IDES安装文档ORACLE11G+WINDOWS2012 R2 问题总结
  7. English:Root "tele"
  8. Oracle 11g Dataguard参数详解
  9. bayaim_Centos7.6_mysql源码5.7-multi_20190424.txt
  10. 12C新功能:在线移动数据文件 (Doc ID 1566797.1)