Python3对Excel表格操作(写入、追加)
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表格操作(写入、追加)相关推荐
- Python3中的Excel表格操作
一.2003以前的表格以.xls后缀,用xlwt来写表格,用xlrd来读取表格:2007的表格以.xlsx后缀,用openpyxl来读写表格. 二.xlrd使用介绍 1.导入模块 import x ...
- python处理excel表格实例-python2 对excel表格操作完整示例
本文实例讲述了python2 对excel表格操作.分享给大家供大家参考,具体如下: #!/usr/bin/env python2 # -*- coding: utf-8 -*- "&quo ...
- python3读取excel数据-python3读取Excel表格数据的代码分享
python3 读取Excel表格中的数据 需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- c ...
- QT之Excel表格操作
QT之Excel表格操作 提前准备 打开读取excel文件 写入保存excel文件 提前准备 pro文件中添加: QT += axcontainer 在需要使用excel的文件中添加: #includ ...
- linux qt写入excel文件内容,Qt 读取Excel表格数据 生成Excel表格并写入数据
Qt 读取Excel表格数据 生成Excel表格并写入数据 Qt 读取Excel表格数据 生成Excel表格并写入数据 修改.pro文件,增加 axcontainer QT += axcontaine ...
- E013 如何把Excel表格数据写入Ppt文本框内
Hi,How are you doing? 我是职场编码(CodeVoc). 在E000中,我们介绍了Node.js.Ruby.Electron等工具下载安装. 这期,给你演示一下由Electron联 ...
- Excel表格无法写入文字怎么解决
Excel表格强大无匹,要想彻底玩转它绝非一朝一夕之事,需要我们不断的使用它,和日积月累的经验积累,遇到问题寻找解决办法并学习,Excel表格无法写入文字是怎么回事呢?以下为天天整理的Excel表格无 ...
- python3读取excel数据-python3 读取Excel表格中的数据
需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- coding:utf-8 -*- import ...
- Python的excel表格操作,数据提取分析
自己编写了一些表格的操作方法,只需传入表格路径和表的位置,就能在根据自己使用的方法展示不同类型的数据如:字典,列表,字典里套列表,列表里套列表,查询最大行数,在指定的行数插入数据等,有疑问欢迎评论 c ...
- 计算机基础表格函数基础知识大全,大一计算机题库和答案:大一计算机基础excel表格操作题求解if函数部分...
大一计算机基础excel表格操作题求解if函数部分 引号呢?字符串必须要用引号引起来,不然就是变量,就非法了.要类似这样: =IF(C3="电子",11000) 大学计算机基础期末 ...
最新文章
- 明晚8点公开课 | 用AI给旧时光上色!详解GAN在黑白照片上色中的应用
- SpringBoot 项目瘦身指南,瘦到不可思议!
- linux删除垃圾文件夹,优雅地删除 Linux 中的垃圾文件第六季
- 通过xrdp远程访问ubuntu出现输入d最小化问题的处理
- 7 php程序的调试方法_php程序调试方法总结
- openstack 调试
- 官方发布:深度学习高层API保姆级中文教程免费开放
- 洛谷 - P2770 航空路线问题(最大费用最大流+路径打印)
- JAVA生产环境验证_Java生产环境下性能监控与调优详解
- 数据的gzip压缩解压缩_使用GZIP和压缩数据
- html/css杂题
- Web优化 --利用css sprites降低图片请求
- 卖萌屋福利场:《机器阅读理解》免费送送送!
- IDC:2006中国IT及电信市场十大发展预测
- MacBook 自带输入法 中英文切换 搜狗输入法 安装 配置
- 鸿蒙大陆v2.8正式版,鸿蒙大陆正式版地图下载-鸿蒙大陆下载 V2.22--pc6下载站
- Android studio中assets文件更换之后不生效
- 一文读懂 | 云上用户如何灵活应用定制化网络服务
- Good Luck in CET-4 Everybody!(sg函数模板)
- 服务器无限刷石机推荐,【红石技巧】-世界上最快的刷石机