使用py对Excel表格进行基本读写操作

在处理Richard给的Task时觉得使用python直接对Excel表格进行读写操作会比较方便,所以学了如何用py对Excel表格进行基本的读写操作。虽然简单但是也需要学习成本,所以写下来以供以后查阅。

所需库

​ 虽然pandas的dataframe也能和Excel进行交互,但是操纵起来没有那么的灵活。Python中有两个包,专门用来对Excel表格进行细致的操作:

  • 负责读:xlrd [https://xlrd.readthedocs.io/en/latest/api.html]
  • 负责写:xlwt [https://xlwt.readthedocs.io/en/latest/api.html]

​ spyder中好像太有这两个包的提示信息(按Tab键啥也没有),很多CSDN笔记也记录的粗略,还是官网给出的比较详细

数据结构

​ xlrd和xlwt中,把每个Excel文件都看作是一个WorkBook,而WorkBook中包含若干sheet,这些sheet对应于Excel中的sheet。而每个sheet又是由cell组成的,cell就是Excel表格中的一个单元格,它是xlrd中的数据结构,它包含若干property,包括值等。

xlrd库基本操作

以下栗子均来源于D:\CodeLab\PythonProject\AI\PythonDict\abstract_questions.py

读取一个Excel文件

rbook = xlrd.open_workbook("questions_classification.xlsx")

读取一个WorkBook中的一个sheet

读取sheet可以按下标读(从0开始)也可以按名字读

classification = rbook.sheet_by_name("questions classification")
classification = rbook.sheet_by_index(0)

读取某sheet中的cell

cell是xlrd中的数据结构,要分清楚是读值还是读cell对象

读取cell的方式有很多,可以多行,多列,也可以单个单元格,由不同函数实现特定功能

  • classification.col_values(n) 所要读取的列序号
# 直接读数值是float类型,读出的值会被存放在list之中,使用map函数对list中每个元素进行转int操作
# 读数值
questionId = list(map(int, classification.col_values(0)[1 : ]))
# 读cell对象
classification.col(0, start_rowx=0, end_rowx=None)

xlwt库基本操作

打开一个Excel文件

打开一个Excel文件分为打开一个新的文件和打开一个已经存在的文件。打开一个已经存在的文件没有直接的实现函数,而是借由xlutils包下的copy函数实现

  • xlrd.open_workbook(fileName) 打开fileName的文件
  • wbook.copy(rbook) 把rbook内容复制到wbook
# 打开一个新的Workbook(其实就是创建新对象)
wbook = xlwt.Workbook(encoding='ascii')# 打开一个新的Workbook并把已存在文件的内容读入新的Workbook中
from xlutils import copy
rbook = xlrd.open_workbook("questions_classification.xlsx")
wbook = xlwt.Workbook(encoding='ascii')
wbook.copy(rbook)

向打开的文件写入数据

在写入数据之前要创新的sheet,之后就可以向sheet中写入数据了

  • wbook.add_sheet(sheetName) 追加新sheet,参数可以是sheet的名字
  • wbook.write(x, y, label = content) 向sheet中的(x, y)处写入content
# 创建新的sheet
wsheet = wbook.add_sheet("questions")# 向指定位置写入数据
wsheet.write(0, 0, label="Question ID")

保存文件

我在保存为.xlsx文件时发生了错误,并不明白为啥,就存成了.xls文件。但是这对数据处理所需的Excel表格就够了

# 保存为questions_classification_v3.xls
wbook.save("questions_classification_v3.xls")

使用py对Excel表格进行基本读写操作相关推荐

  1. 记录一次Excel表格的误删恢复操作,WPS版

    记录一次Excel表格的误删恢复操作,WPS版 *## 前言 前几天正在整理数据感觉自己好像不小心动了键盘也不知道改了哪里,所以直接没保存就关闭了,但是之前忘记保存了所以关闭了excel后之前的很重要 ...

  2. 提取文件名到excel表格中,如何操作?

    提取文件名到excel表格中,如何操作?工作中我们经常遇到一些量大又重复的工作,例如有时候需要将大量的文件名整理到excel表格里,普通的小伙伴只知道挨个的先复制文件名,再粘贴excel表格里,需要耗 ...

  3. python做excel表格代码_Python读写Excel表格

    最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...

  4. java 实现Excel 表格数据的读写

    一 :简介 开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中,操作Excel目前有两个框架,一个是apache 的poi, 另一个是 Java Excel Apache ...

  5. php汇总多张excel数据,多个excel表格数据汇总怎么操作

    多个excel表格数据汇总的方法:首先做个模板表格,并找到审视,共享工作簿:然后将表格分别填写对应组的数目:最后选择[比较和合并工作簿]即可. 多个excel表格数据汇总的方法: 1.假设情景:现在需 ...

  6. matlab用excel的数据,使用MATLAB对excel文件数据的读写操作

    最近建模,刚好用matlab对excel中的数据进行处理,由于自己是个菜鸟,基本都是边问度娘边动手操作.感觉以后还会用得到,在此做个简单的总结,为下一次省点力... excel读写操作:xlsread ...

  7. python做excel表格代码_python如何操作excel 基础代码

    一 基础操作 1打开excel表格并获取表格名称 wookbook = load_workbook(filename = 表格文件路径) (注意只能打开存在的表格,不能用该方法创建一个新表格文件) w ...

  8. C语言Excel表格指针,C语言操作Excel表格

    上网查找了好多的资料发现C语言不能操作Execl表格,说是比较用C++语言好操作,想了解更多请点此链接:C++操作Excel表格. 接下来介绍下一位学长介绍给我的方法,比较粗俗,但还是挺实用的. 第一 ...

  9. python处理excel表格实例-python读写Excel表格的实例代码

    本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 安装两个库:pip install xlrd.pip install xlwt 1.python读excel--xl ...

最新文章

  1. c语言时间库函数#includetime.h
  2. centos7升级python到3_CentOS7 升级Python2.x到3.x
  3. C语言自学《八》---- C语言知识总结
  4. CPU使用百分比测量
  5. python找房源_python抓取贝壳房源信息
  6. Tcpdump个人实战总结
  7. 会话,授权,认证概念解析
  8. 字段 密码有效期_你知道Linux中用户们的密码藏在哪儿吗?
  9. Batteries for Mac(电池电量管理软件)
  10. Vue2.0 的漫长学习ing-2-1
  11. 创客匠人:怎么用微信小程序直播?
  12. CI框架url模式及获得参数
  13. JS获取本地文件的内容
  14. 基于线性回归房价预测散点图和折线图
  15. c51流水灯实验报告汇编语言,单片机流水灯实验报告
  16. 他一生仅凭252个字,就傲视千古…
  17. 2020年,这个算法团队都干了啥?
  18. 最优化路径和火车票退票
  19. 留学党的作业量到底有多大?写作业的难点有多少?
  20. 一文通读SAP BRFPlus

热门文章

  1. 【OpenCV】双目相机测距及其深度恢复原理及其算法流程
  2. mysql统计去重记录数量_MySQL分组后,如何统计记录条数
  3. linux 配置使用ftp 使用账号密码登陆失败
  4. 微信小程序做一个调查问卷(二)
  5. 在Geany里配置python3的方法!!!含window10下载Geany过程
  6. 如何在微信小程序上开发一个「蚂蚁森林」和「蚂蚁庄园」结合体?
  7. linux 开机运行命令
  8. 3DSMAX中英文对照大全(从A-Z分类)
  9. 极路由更新软件源的方法
  10. STA分析(六) cross talk and noise