python3 对Excel操作

方法有很多,pandas可以读取Excel数据,创建Excel表格,写入数据,但是好像不能实现追加,后写入的数据会覆盖到以前数据;xlrd、xlwt、xlutils可是实现对xls格式的表格数据的读取、写入以及修改(如:追加);openpyxl可以实现对xlsx格式的表格数据进行读、写、修改等操作。本例仅以表格的写入与追加为例,简单说明一下Python对Excel的操作,详细可参考上面这些工具包的说明文档。

import pandas as pd
import numpy as np
df = pd.DataFrame({'name': ['Jack', 'kate', 'Jim', 'Steve', 'Mike', 'Lucy'],'Gender': ['M', 'F', 'M', 'M', 'M', 'F'],'Age': [17, 15, 22, 34, 18, 23],'Height': [173, 168, 164, 180, 182, 190],'Hobby': ['Reading', 'Music', 'Football', 'Reading', 'Cooking', 'Running']}
)
df
name Gender Age Height Hobby
0 Jack M 17 173 Reading
1 kate F 15 168 Music
2 Jim M 22 164 Football
3 Steve M 34 180 Reading
4 Mike M 18 182 Cooking
5 Lucy F 23 190 Running

df1 = df.copy()
df2 = df.copy()
df3 = df.copy()

df的追加,设置ignore_index=True可以自动递增索引号

df4 = df.append(df1, ignore_index=True)
df4
name Gender Age Height Hobby
0 Jack M 17 173 Reading
1 kate F 15 168 Music
2 Jim M 22 164 Football
3 Steve M 34 180 Reading
4 Mike M 18 182 Cooking
5 Lucy F 23 190 Running
6 Jack M 17 173 Reading
7 kate F 15 168 Music
8 Jim M 22 164 Football
9 Steve M 34 180 Reading
10 Mike M 18 182 Cooking
11 Lucy F 23 190 Running

操作xls格式的表格

import xlrd  # 读取
import xlwt  # 写入
from xlutils.copy import copy  # 修改(追加写入):xlutilsdef write2xls(path, sheetname, value):index = len(value)  # 获取需要写入数据的行数workbook = xlwt.Workbook()  # 创建一个工作簿sheet = workbook.add_sheet(sheetname)  # 在工作簿中新建一个表格for i in range(index):for j in range(len(value[i])):sheet.write(i, j, value[i][j])  # 向表格中写入数据(对应的行和列)workbook.save(path)print("xls格式表格写入成功!")def append2xls(path, sheetname, value):index = len(value)  # 获取需要写入的数据的行数workbook = xlrd.open_workbook(path)  # 打开工作簿
#     sheets = workbook.sheet_names()  # 获取工作簿里的所有表格worksheet = workbook.sheet_by_name(sheetname)  # 获取工作簿中所有表格中的第一个表格rows_old = worksheet.nrows  # 获取表格中已存在的数据的行数new_workbook = copy(workbook)  # 将xlrd对象拷贝转化为xlwt对象new_worksheet = new_workbook.get_sheet(0)  # 获取转化后工作簿中的第一个表格for i in range(index):for j in range(len(value[i])):new_worksheet.write(i+rows_old, j, value[i][j])  # 追加写入数据,注意从 i+rows_old 行开始new_workbook.save(path)print("xls格式表格追加写入成功!")column_name = np.array([df4.columns])write2xls(path='./zx_test.xls', sheetname='text', value=column_name)append2xls(path='./zx_test.xls', sheetname='text', value=df1.to_numpy())
append2xls(path='./zx_test.xls', sheetname='text', value=df4.to_numpy())
xls格式表格写入成功!
xls格式表格追加写入成功!
xls格式表格追加写入成功!

操作xlsx格式的表格文件

import openpyxldef write2xlsx(path, sheetname, value):index = len(value)workbook = openpyxl.Workbook()  # 实例化sheet = workbook.active  # 激活worksheetsheet.title = sheetnamefor i in range(index):for j in range(len(value[i])):sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))workbook.save(path)print("xlsx格式表格数据写入成功!")def append2xlsx(path, sheetname, value):index = len(value)workbook = openpyxl.load_workbook(path)sheet = workbook[sheetname]for i in range(index):sheet.append(list(value[i]))  # append的内容必须是可迭代对象,里面的value必须是str类型workbook.save(path)print("xlsx格式表格数据追加成功!")   column_name = np.array([df4.columns])
write2xlsx(path='./zx_test_2.xlsx', sheetname='text', value=column_name)data = df4.to_numpy()
append2xlsx(path='./zx_test_2.xlsx', sheetname='text', value=data)data2 = df1.to_numpy()
append2xlsx(path='./zx_test_2.xlsx', sheetname='text', value=data2)
xlsx格式表格数据写入成功!
xlsx格式表格数据追加成功!
xlsx格式表格数据追加成功!

结果如下:

Python3对Excel表格操作(写入、追加)相关推荐

  1. Python3中的Excel表格操作

    一.2003以前的表格以.xls后缀,用xlwt来写表格,用xlrd来读取表格:2007的表格以.xlsx后缀,用openpyxl来读写表格. 二.xlrd使用介绍 1.导入模块   import x ...

  2. python处理excel表格实例-python2 对excel表格操作完整示例

    本文实例讲述了python2 对excel表格操作.分享给大家供大家参考,具体如下: #!/usr/bin/env python2 # -*- coding: utf-8 -*- "&quo ...

  3. python3读取excel数据-python3读取Excel表格数据的代码分享

    python3 读取Excel表格中的数据 需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- c ...

  4. QT之Excel表格操作

    QT之Excel表格操作 提前准备 打开读取excel文件 写入保存excel文件 提前准备 pro文件中添加: QT += axcontainer 在需要使用excel的文件中添加: #includ ...

  5. linux qt写入excel文件内容,Qt 读取Excel表格数据 生成Excel表格并写入数据

    Qt 读取Excel表格数据 生成Excel表格并写入数据 Qt 读取Excel表格数据 生成Excel表格并写入数据 修改.pro文件,增加 axcontainer QT += axcontaine ...

  6. E013 如何把Excel表格数据写入Ppt文本框内

    Hi,How are you doing? 我是职场编码(CodeVoc). 在E000中,我们介绍了Node.js.Ruby.Electron等工具下载安装. 这期,给你演示一下由Electron联 ...

  7. Excel表格无法写入文字怎么解决

    Excel表格强大无匹,要想彻底玩转它绝非一朝一夕之事,需要我们不断的使用它,和日积月累的经验积累,遇到问题寻找解决办法并学习,Excel表格无法写入文字是怎么回事呢?以下为天天整理的Excel表格无 ...

  8. python3读取excel数据-python3 读取Excel表格中的数据

    需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- coding:utf-8 -*- import ...

  9. Python的excel表格操作,数据提取分析

    自己编写了一些表格的操作方法,只需传入表格路径和表的位置,就能在根据自己使用的方法展示不同类型的数据如:字典,列表,字典里套列表,列表里套列表,查询最大行数,在指定的行数插入数据等,有疑问欢迎评论 c ...

  10. 计算机基础表格函数基础知识大全,大一计算机题库和答案:大一计算机基础excel表格操作题求解if函数部分...

    大一计算机基础excel表格操作题求解if函数部分 引号呢?字符串必须要用引号引起来,不然就是变量,就非法了.要类似这样: =IF(C3="电子",11000) 大学计算机基础期末 ...

最新文章

  1. 明晚8点公开课 | 用AI给旧时光上色!详解GAN在黑白照片上色中的应用
  2. SpringBoot 项目瘦身指南,瘦到不可思议!
  3. linux删除垃圾文件夹,优雅地删除 Linux 中的垃圾文件第六季
  4. 通过xrdp远程访问ubuntu出现输入d最小化问题的处理
  5. 7 php程序的调试方法_php程序调试方法总结
  6. openstack 调试
  7. 官方发布:深度学习高层API保姆级中文教程免费开放
  8. 洛谷 - P2770 航空路线问题(最大费用最大流+路径打印)
  9. JAVA生产环境验证_Java生产环境下性能监控与调优详解
  10. 数据的gzip压缩解压缩_使用GZIP和压缩数据
  11. html/css杂题
  12. Web优化 --利用css sprites降低图片请求
  13. 卖萌屋福利场:《机器阅读理解》免费送送送!
  14. IDC:2006中国IT及电信市场十大发展预测
  15. MacBook 自带输入法 中英文切换 搜狗输入法 安装 配置
  16. 鸿蒙大陆v2.8正式版,鸿蒙大陆正式版地图下载-鸿蒙大陆下载 V2.22--pc6下载站
  17. Android studio中assets文件更换之后不生效
  18. 一文读懂 | 云上用户如何灵活应用定制化网络服务
  19. Good Luck in CET-4 Everybody!(sg函数模板)
  20. 服务器无限刷石机推荐,【红石技巧】-世界上最快的刷石机

热门文章

  1. 如何利用区块链技术搭建企业新生态!
  2. 翻译:软件测试的未来五个趋势
  3. python国内股票数据分析方法_Python股票数据分析
  4. AT指令判断NBIoT网络质量
  5. Hdu4747 Mex 递推
  6. 网站监控程序uptime-kuma,宝塔面板搭建 ,TCP/HTTP监控
  7. On-Ramp算法参考资料
  8. jpeg怎么转换成jpg格式?三步学会在线jpeg转jpg
  9. html div 360旋转动画效果,分享4种CSS3效果(360度旋转、旋转放大、放大、移动)
  10. 数字图像处理与Python实现-颜色空间转换-RGB颜色空间与YIQ颜色空间转换