python12岁_12岁。Python操作Excel,12Python,excel

excel在Python中的应用

存测试数据

有的时候大批量的数据,存到txt文件里显然不是最佳的方式,我们可以存到excel文件里面,第一方便我们存储数据和做数据,一方面方便我们读取数据,比较明朗。测试的时候就从数据库中读取出来。

存测试结果

可以批量把结果存到excel中,也比较好整理数据,比txt方便。

excel库

python中有好几个和excel操作相关的模块。

xlrd库:从excel中读取数据。支持xls,xlsx。

xlwt库:对excel进行修改操作。不支持对xlsx格式的修改。

xlutils:在xlwt和xlrd中,对一个已存在的文件进行修改。

openpyxl:主要针对xlsx格式的excel文件进行读取和编辑。

官方解释:

openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files.

网址:

http://www/python-excel.org/

或直接pip安装:

pip3 install openpyxl

离线方式安装:

Excel 中三大对象:

WorkBook

Sheet

Cell

此外记住row:行;column:列。

在excel中,主要的操作是在sheet中对数据进行读、写、修改的操作。

操作流程:

打开/创建一个excel文件,生成一个工作簿(WorkBook)对象。

获取某个表单(sheet)对象。

在表单对象中的单元格(cell)中读、写、修改数据。

openpyxl - 常用读操作

from openpyxl import load_workbook #加载load_workbook函数

wb=load_workbook("sample.xlsx") #打开一个已经存在的excel文件

sh=wb.get_sheet_by_name("sheet1") #打开某个表单

rows=sh.max_row #获取总行数

columns=sh.max_column #获取总列数

cl=sh.cell(row=3,column=7).value #获取指定的(第3行,第7列)的单元格值

sh.cell(row=1,column=1).value="hello" #修改某个值

wb.save("hello.xlsx") #保存workbook,这样才可以保存刚刚写入的值。

以下尝试进行excel数据读取:

from openpyxl import load_workbook

path="C:/Users/Hello/Desktop/temp/demo.xlsx"

#1.打开工作簿

wb=load_workbook(path)

#2.定位到所要操作的表单

sheet_obj=wb.get_sheet_by_name("lemon")

#3.读取数据,索引从1,1开始

result=sheet_obj.cell(1,2).value

print(result)

D:\Python\python.exe D:/Work/Tools/python_workspace/python_2017/class_excel/test_1.py

D:/Work/Tools/python_workspace/python_2017/class_excel/test_1.py:9: DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).

sheet_obj=wb.get_sheet_by_name("lemon")

B2

可以看到,读取出demo.xlsx中lemon页(1,2)单元格数据为B2。

更新单元格值:

#4.修改数据,更新值

sheet_obj.cell(1,2).value="B2_2" #更新第一行第二列的单元格值

sheet_obj.cell(4,8).value="test" #更新第四行第八列的单元格值

wb.save("C:/Users/Hello/Desktop/temp/demo_1.xlsx")

#更新数据后,记得保存文件为另外的名字,类似于手动另存为。

获取行数与列数:

#5 获取行数与列数(这里获取到的是具有数据的行与列,不会获取到空行和空列):

row=sheet_obj.max_row

column=sheet_obj.max_column

print(row,column)

openpyxl - 常用写操作

from openpyxl import Workbook 加载Workbook函数

wb=Workbook("hello.xlsx") #创建一个新的excel对象

sh_new=wb.create_sheet("新建的sheet") #创建一个新的sheet

wb.save("hello.xlsx") #保存当前workbook

#再次打开workbook才能对值进行修改,此处操作略

sh.cell(row=1,column=1).value=("hello") #修改指定单元格值

wb.save("hello.xlsx") #保存当前workbook中所有的修改

注意

: openpyxl中列和行的起始标识是1,但是别的操作数据的未必如此哦!

__author__ = 'Hello'

from openpyxl import Workbook #加载Workbook函数

wb=Workbook("hello.xlsx") #创建一个新的excel对象

sh_new=wb.create_sheet("sh_0624") #创建一个新的sheet

wb.save("hello.xlsx") #保存当前workbook

#再次打开workbook才能对值进行修改

from openpyxl import load_workbook

wb=load_workbook("hello.xlsx")

sheet_obj=wb.get_sheet_by_name("sh_0624")

sheet_obj.cell(row=1,column=1).value=("sh_0624") #修改指定单元格值

wb.save("hello.xlsx") #保存当前workbook中所有的修改

小练习:循环读取excel表格中第一列的数据。

__author__ = 'Hello'

from openpyxl import Workbook,load_workbook

path="C:/Users/Hello/Desktop/temp/test1.xlsx"

wb=load_workbook(path)

sheet_obj=wb.get_sheet_by_name("Sheet1")

row=sheet_obj.max_row

column=sheet_obj.max_column

list=[]

for i in range(1,row+1):

result=sheet_obj.cell(i,1).value

#print(result)

list.append(result)

print(list)

D:\Python\python.exe D:/Work/Tools/python_workspace/python_2017/class_excel/test_3.py

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

D:/Work/Tools/python_workspace/python_2017/class_excel/test_3.py:7: DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).

range(0, 5)

sheet_obj=wb.get_sheet_by_name("Sheet1")

Process finished with exit code

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么叫工作到位?很深刻!

1、汇报工作说结果不要告诉老板工作过程多艰辛,你多么不容易!老板不傻,否则做不到今天。举重若轻的人老板最喜欢,一定要把结果给老板,结果思维是第一思维。2、请示工作说方案不要让老板做问答题,而是要让老…

react 给一个引用的组件添加新属性_高阶组件在React中的应用

高阶组件的定义接受React组件作为输入,输出一个新的React组件。概念源自于高阶函数,将函数作为参数,或者输出一个函数,如map,reduce,sort。 用haskell的函数签名来表示: hocFactory:: W: React.…

杂想 · 警醒

今天无意间看到CSDN上一位大牛师姐的博客,真的是好惊讶啊!很多时候总是太过自以为是,以为自己做不到的事情别人也很难做到。恰恰相反,成功总是伴随那些谦逊、努力、认真的人的!曾几何时,自己或许也是一个认…

好好的活,简简单单过!

生命,每个人只有一次,或长或短;生活,每个人都在继续,或悲或欢;人生,每个人都在旅途,或起或伏。人无完人,事无完美,有些小人,你不须计较&#xff0…

SQL Server 中创建数据库、更改主文件组示例

以下示例在 SQL Server 实例上创建了一个数据库。该数据库包括一个主数据文件、一个用户定义文件组和一个日志文件。主数据文件在主文件组中,而用户定义文件组包含两个次要数据文件。ALTER DATABASE 语句将用户定义文件组指定为默认文件组。然后通过指定用户定义文件…

lunixs 退出mysql_MySQL的基本操作

1、数据库登录格式:mysql -h主机地址 -u用户名 -p用户密码 -P端口 -D数据库 -e “SQL内容”[rootwulaoer ~]# mysql -uroot -p2、修改密码格式:mysqladmin -u用户名 -p旧密码 password 新密码[rootwulaoer ~]# mysqladmin -uroot password 123456注&…

交际中你所不知道的说话的12个技巧!

1.“有一说一”和“自以为是”不同,别把粗鲁当成真性情与 他人相处,要遵循一个基本原则:己所不欲,勿施于人。你可以真挚地描述自己的感受,前提是不要带有攻击性,至于对他人做出评价和判断,则需要…

宽客的人amp;amp;事件映射

看完《宽客》这本书,叙事介绍20世纪华尔街对冲基金、股票、投资者依赖股市从直觉交易数学家的早期演化、物理学家用数学模型开发过程中的交易,这些进入金融数学家、物理学家依靠大数据分析、稍纵即逝的交易机会来买入卖出;同一时候找出交易模…

社交中的黄金法则,你要细细体会品味

1,不要急着用你的嘴,来为你的眼睛辩护什么。因为天知道你的嘴说出什么来。2,假如有人朝你扔石头,就收起来。因为那会是你日后建高楼的基石。3,能忍则忍,忍不了就改变,改变不了就认了哇。4&#…

Jsp笔记(1)

1. jsp页面中出现中文乱码怎么解决&#xff1f; 1 <% page contentType"text/html; charsetGB2312"%> 2 <% page language"java" import"java.util.*" pageEncoding"UTF-8"%> 用上面这两行代码去替换自动生成的代码&#…

这些略带幽默句子,笑的同时多感悟一下吧(收好)

1、穷&#xff0c;并不可怕&#xff0c;我怕穷着穷着就习惯了。2、世界上唯一不用努力&#xff0c;就能得到的只有年龄。3、我是你转身就忘的路人甲&#xff0c;凭什么陪你蹉跎年华到天涯&#xff1f;4、世界上最快乐的事情就是吃&#xff0c;第二快乐的是待会再吃。5、琴棋书画…

java 异常机制_深入理解Java异常处理机制

一、引子try…catch…finally恐怕是大家再熟悉不过的语句了&#xff0c;而且感觉用起来也是很简单&#xff0c;逻辑上似乎也是很容易理解。不过&#xff0c;我亲自体验的“教训”告诉我&#xff0c;这个东西可不是想象中的那么简单、听话。不信&#xff1f;那你看看下面的代码&…

ThreadLocal http://blog.jobbole.com/20400/

d转载于:https://www.cnblogs.com/hansongjiang/p/4875332.html

做人:失信是最大的破产!

一个人最大的破产是信用的破产&#xff01;哪怕你一无所有&#xff0c;但只要信用还在&#xff0c;就还有翻身的本金。保护好信用&#xff0c;珍惜别人给你的每一次信任&#xff01;因为有时候我们只有一次机会&#xff01;朋友有时候就像钞票&#xff0c;有真也有假。我们需要…

c#和WIN32 调用

作者&#xff1a;刘铁猛日期&#xff1a;2005-12-20关键字&#xff1a;C# .NET Win32 API版权声明:本文章受知识产权法保护&#xff0c;如果阁下想转载,在转载的时候烦劳阁下连同在下的姓名一起转载,并向bladeytom.com发一个Mail,我很想知道我的文章都去哪里了.谢谢.小序Win32 …

【干货】微信公众号运营必备工具(完整版)

做微信公众号运营最基本的要素有两点&#xff1a;一是内容要强大&#xff08;内&#xff09;&#xff0c;二是排版要美观&#xff08;外&#xff09;。做好前者&#xff0c;你需要有充足的知识储备以及精彩独到的文笔作为支撑&#xff0c;而做好后者则相对简单许多&#xff0c;…

java定时线程池_java 定时器线程池(ScheduledThreadPoolExecutor)的实现

前言定时器线程池提供了定时执行任务的能力&#xff0c;即可以延迟执行&#xff0c;可以周期性执行。但定时器线程池也还是线程池&#xff0c;最底层实现还是ThreadPoolExecutor&#xff0c;可以参考我的另外一篇文章多线程–精通ThreadPoolExecutor。特点说明1.构造函数public…

iOS 关于关键字高亮

- (NSMutableAttributedString *)colorStr: (NSString *)originalStr // originalStr : 需要高亮传入的字符串 { NSMutableAttributedString *dataStr [[[NSMutableAttributedString alloc] initWithString:originalStr] autorelease]; for (int i 0; i < originalStr.l…

成功,要“借力”,不要“尽力”(深刻!)

01每个人都喜欢成功&#xff0c;却又时常感觉自己力不从心一个小男孩在院子里搬一块石头&#xff0c;父亲在旁边鼓励&#xff1a;“孩子&#xff0c;只要你全力以赴&#xff0c;一定搬得起来&#xff01;”但是石头太重&#xff0c;最终孩子也没能搬起来。他告诉父亲&#xff1…

java 网站开发实例_完整的javaweb项目

【实例简介】主要功能有以下几个&#xff1a;1.用户注册 2.用户登录 3.用户列表展示 4.用户信息修改 5.用户信息删除【实例截图】【核心代码】javaweb└── javaweb├── src│ └── com│ ├── dao│ │ ├── UserDaoImpl.java│ │ └── UserDao.java│…