读写与追加excel文件用的是 xlwt(写),xlrd(读),xlutils(操作excel)这三个包

这篇博客从以下几个方面来叙述:

  1. 三个模块的安装
  2. 读取excel文件(.xls .xlsx)
  3. 写入excel文件
  4. 追加excel文件
1.三个模块的安装
pip install xlwt
pip install xlrd
pip install xlutils
2.读取excel文件
读取excel的逻辑是:
workbook(工作薄)------------》表(sheet)---------》 行,列 ---------》单元格
下面是我写的一个类:
class Read_excel(object):
    def __init__(self, path_name, sheet='sheet1'):
        self.work_book = xlrd.open_workbook(path_name)
        self.sheet = self.work_book.sheet_by_name(sheet)

    # 根据行号得到该行全部数据
    def get_value_by_row(self, row):
        return self.sheet.row_values(row)

    # 了解这个表一共有多少行
    def get_row_number(self):
        return self.sheet.nrows
与他对应的测试类:
write = Read_excel(path_name='test.xlsx', sheet='sheet1')
write.get_value_by_row(2)  # 得到第3行的数据,返回一个列表
print(write.get_row_number())  # 得到'sheet1'这张表一共有多少上
3.写入excel文件
写入excel与读取的思路相同:
新建工作薄(work_book) ---------------- 》 新建表(sheet) -------------》 为表中添加元素 ---------》保存到本地
我同样写了一个小的例子:
class Write_excel(object):

    def __init__(self, path_name, sheet='sheet1'):
        self.row_num = 0
        self.save_path = path_name
        self.work_book = xlwt.Workbook(encoding='utf-8')
        self.sheet = self.work_book.add_sheet(sheet)

    # 添加内容,添加的内容会独占一行
    def add_content(self, content):
        for i in range(len(content)):
            # 这是写入数据的根本函数 参数是:(行号,列号,这一格写入内容)
            self.sheet.write(self.row_num, i, content[i])
        self.row_num = self.row_num + 1

    # 将文件从内存中写入本地
    def write_now(self):
        self.work_book.save(self.save_path)

与它对应的测试类:

write = Write_excel(path_name='test.xlsx', sheet='sheet1')
write.add_content(['1', '2', '3'])  # 在第一行第一列添加1,第二列添加2,第三列添加3
write.write_now()

注意:这里的path_name可以是一个不存在的文件,但是如果写路径,linux下不能使用~/Desktop/...什么的,要舍去‘~’,把路径写全 /home/user/Desktop/...

4.追加excel文件
本人不推荐频繁的追加excel文件,因为它的思路是:
读取一个文件的内容,放到内存中 ------------》 在内存中完成修改 ----------------》将内存中的新内容变成excel文件覆盖掉原来的文件
这里我写了一个具体的方法:
def append_excel(path_name):
    write_excel()
    book = xlrd.open_workbook(path_name)
    wfile = copy(book)  # 在内存中复制
    wsheet = wfile.get_sheet('sheet')
    wsheet.write(2, 1, 'new_new_new')  # 在第3行第2列添加新数据'new_new_new'
    wfile.save(path_name)

Python读写与追加excel文件相关推荐

  1. Python 读写txt和excel文件及操作数据库

    前言 我们经常会遇到我们对数据库中数据进行拉取并处理脚本,我们如果要操作线上数据库.用java操作就过于麻烦,这个时候我们更方便的方法是直接通过一个python脚本去读取数据库,并进行处理数据.那么我 ...

  2. python写入excel文件追加写入_Python读写/追加excel文件Demo

    这篇文章主要介绍了关于Python读写/追加excel文件Demo,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 python操作excel的三个工具包如下,注意,只能操作.xls,不 ...

  3. python3读写excel文件_Python读写/追加excel文件Demo

    这篇文章主要介绍了关于Python读写/追加excel文件Demo,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 python操作excel的三个工具包如下,注意,只能操作.xls,不 ...

  4. python处理多个excel数据_python 数据分析基础 day8-pandas读写多个excel文件

    今天是读<python数据分析基础>的第8天,今天的读书笔记的内容为利用pandas读写多个excel文件,当中涉及到读写excel文件的多个工作表. 大致原理如下: glob.glob( ...

  5. Python 处理带中文 Excel 文件

    Python 处理带中文 Excel 文件 Python-Excel常规操作 安装库 写入 Excel 读取 Excel 测试文件 处理中文 Ref 所遇到问题 Python-Excel常规操作 注意 ...

  6. Python读取多个excel文件(删除字段、数据格式转换、dataframe多表合并)并写入ElasticSearch实战(自动创建索引、写入ElasticSearch、探索性数据分析)

    Python读取多个excel文件(删除字段.数据格式转换.dataframe多表合并)并写入ElasticSearch实战(自动创建索引.写入ElasticSearch.探索性数据分析) 目录

  7. python处理多个excel文件-Python将多个excel文件合并为一个文件

    利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中 ...

  8. excel调用python编程-使用Python和xlwt向Excel文件中写入中文的实例

    sheet1.write(row_num,0,f) row_num = 1 book.save('demo.xls') 程序执行结果如下: grey@DESKTOP-3T80NPQ:/mnt/e/01 ...

  9. python读写不同编码txt文件

    python读写不同编码txt文件 以后整理规范[python] view plaincopy import os import codecs filenames=os.listdir(os.getc ...

最新文章

  1. 自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注)
  2. html5 手机上传图片
  3. win7仿linux主题,linuxmint 16 cinnamon模仿win7/win8主题
  4. Spring Remoting: HTTP Invoker--转
  5. explain都不懂,还好意思说会SQL调优?
  6. leetcode392. 判断子序列(动态规划)
  7. [html] 怎样避免让用户看到长时间的白屏?
  8. 工作179:接口对接
  9. 在verp设置parent和child关系时,child object没有随着parent object变化的情况
  10. Java Web学习笔记03:JSP元素
  11. RDS 设置 group_concat的长度限制 1024 改为 102400
  12. 2021年中国电动气动控制器市场趋势报告、技术动态创新及2027年市场预测
  13. Fiddler刚使用遇到的4大问题
  14. S32K NVIC配置(以外部中断为例)
  15. 我是一只幼鸟,望着那蓝蓝的天空时不时就想翱翔起来
  16. 2021年西电计算机学院软专复试问题总结
  17. 连连跨境支付独立站收款,最高90天提现0费率!
  18. [DAX] DIVIDE函数
  19. 微信小程序授权登录取消授权重新授权处理方法 附可用代码
  20. 如何解读测试结果出现负数

热门文章

  1. python django 动态网页_Django-手撸简易web框架-实现动态网页-wsgiref初识-jinja2初识-python主流web框架对比-00...
  2. 物联网卡会锁卡吗_物联网卡在建筑行业中的应用你知道吗?
  3. 音频特效:Flanger 和 Chorus
  4. daily-question-01(前端每日一题01)
  5. 内核下枚举进程 (二)ZwQuerySystemInformation
  6. 14张思维导图带你系统学习Python核心知识
  7. TextRank算法可以用来从文本中提取关键词和摘要(重要的句子)
  8. H5 js 处理localstorage方法封装
  9. JSP基础之 C标签中的 varStatues属性
  10. BDD测试利器:mocha+should.js