(注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正。)

面对疾风吧。

回首往昔,更进一步。

且随疾风前行,身后一许流星。

正文:

数据处理是Python的一大应用场景,而 Excel 则是最流行的数据处理软件。因此用 Python进行数据相关的工作时,难免要和 Excel 打交道。标准的 Excel 文件(xls/xlsx)具有较复杂的格式,并不方便像普通文本文件一样直接进行读写,需要借助第三方库来实现。

以下内容均在Python3上实现,如果是Python2,则需要修改编码。

一、读Excel表(xlrd模块)

Xlrd模块只能用来读取数据操作,无法修改数据。

import xlrd              #导入模块
data = xlrd.open_workbook('电影.xlsx') #打开电影.xlsx文件读取数据
table = data.sheets()[0] #读取第一个(0)表单
#或者通过表单名称获取 table = data.sheet_by_name(u'Sheet1')
print(table.nrows) #输出表格行数
print(table.ncols) #输出表格列数
print(table.row_values(0)) #输出第一行
print(table.col_values(0)) #输出第一列
print(table.cell(0,2).value) #输出元素(0,2)的值

输出结果:

原Excel表格情况:

二、写Excel表(xlwt模块)

import xlwt                            #导入模块
wb = xlwt.Workbook(encoding = 'ascii') #创建新的Excel(新的workbook),建议还是用ascii编码
ws = wb.add_sheet('weng') #创建新的表单weng
ws.write(0, 0, label = 'hello') #在(0,0)加入hello
ws.write(0, 1, label = 'world') #在(0,1)加入world
ws.write(1, 0, label = '你好')
wb.save('weng.xls') #保存为weng.xls文件

在py文件路径下出现了这个文件,内容为:

三、改Excel表(xlutils模块)

import xlrd                           #导入模块
from xlutils.copy import copy #导入copy模块
rb = xlrd.open_workbook('weng.xls') #打开weng.xls文件
wb = copy(rb) #利用xlutils.copy下的copy函数复制
ws = wb.get_sheet(0) #获取表单0
ws.write(0, 0, 'changed!') #改变(0,0)的值
ws.write(8,0,label = '好的') #增加(8,0)的值
wb.save('weng.xls') #保存文件

修改后的Excel表为:

就写到这里吧,工作之余抽空写点,不足之处以后再补充吧。

树叶的一生,只是为了归根吗?

长路漫漫,惟剑做伴。

一剑,一念。

Python读写改Excel的方法的更多相关文章

  1. Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  2. Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)

    数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...

  3. python读写csv文件的方法(还没试,先记录一下)

    该csv模块定义了以下功能: csv.reader(csvfile,dialect ='excel',** fmtparams ) 返回一个reader对象,它将迭代给定csvfile中的行. csv ...

  4. 【python-ini】python读写ini文件

    [python-ini]python读写ini文件 本文实例讲述了Python读写ini文件的方法.分享给大家供大家参考.具体如下: 比如有一个文件update.ini,里面有这些内容:   1 2 ...

  5. python读写csv时中文乱码问题解决办法

    https://www.cnblogs.com/shengulong/p/7097869.html 参考1 参考2 参考3 CSV是英文Comma Separate Values(逗号分隔值)的缩写, ...

  6. python下读取excel文件

    项目中要用到这个,所以记录一下. python下读取excel文件方法多种,用的是普通的xlrd插件,因为它各种版本的excel文件都可读. 首先在https://pypi.python.org/py ...

  7. python读写Excel方法(xlwt和xlrd)

    在我们做平常工作中都会遇到操作excel,那么今天写一篇,如何通过python操作excel,当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库 ...

  8. python读写word、excel、csv、json文件

    http://blog.csdn.net/pipisorry/article/details/50368044 python读写word文档 (include wps)将word文档转换成txt文档 ...

  9. 用python读写excel的强大工具:openpyxl

    最近看到好几次群里有人问xlwt.wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用of ...

随机推荐

  1. Android Canvas和Paint基本使用

    这篇文章主要介绍下画笔Paint和画布Canvas的基本使用  1.Paint 创建对象Paint mPaint = new Paint(); 常用的基本方法有 :                mP ...

  2. Prime triplets (Project Euler 196)

    original version hackerrank programming version 题目大意是定义了一个正整数的表,第一行是1,第二行是1,2,第三行1,2,3...定义prime tri ...

  3. 微信公众号实现zaabix报警2017脚本(升级企业微信后)

    #!/bin/bash CropID='xxxxxxxxxxxxxxxxx' Secret='xxxxxxxxxxxxxxxx' GURL="https://qyapi.weixin.qq. ...

  4. jQery 操作CSS

    jQuery操作CSS也是很方便的,咱先看看这几个常用的方法: addClass():向一个元素添加一个或者多个类. removeClass():从一个元素中删除一个类或多个类. toggleClas ...

  5. 【Ubuntu 16.04.3 LTS】apt-get 安装MariaDB

    一.Mysql背景信息 Mysql在互联网早期就流行了,追求速度.简单.坚持开源.几乎支持所有操作系统.完全支持多用户.多线程,支持海量数据存储,采用MyISAM.InnoDB两大存储引擎优势互补.但 ...

  6. Eclipse虚拟内存不足【Eclipse中虚拟内存设置】

    Eclipse最近在做J2EE项目中 发现老是出现虚拟内存不足的提示 前2天去加了根内存 问题同样存在 为了让我在写代码时 不在出现那讨厌的内存不足的提示 也为了 不让那破机器再卡住 今天找到了解决方 ...

  7. JZOJ.5279【NOIP2017模拟8.15】香港记者

    Description

  8. 《从零开始学Swift》学习笔记(Day 56)——命名规范Swift编码规范之命名规范

    原创文章,欢迎转载.转载请注明:关东升的博客 程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要. 命名方法很多,但是比较有名的,广泛接受命名法有: 匈牙利命名,一般只是命名变量, ...

  9. 读 下一代SOA 服务技术与面向服务简明指南

    面向服务的八个设计原则 标准化服务合同 在同一个服务仓库中的服务都符合同样的合同设计标准 服务松耦合 服务合同施加了消费者低耦合的要求,而它们自己也与周围的环境脱钩 服务抽象 服务合同只包含基本信息, ...

  10. jQuery获取textarea中的文本

    今天出了一个bug,用$("#textareaid").text()获取textarea中的信息在IE下没问题,在火狐中居然获取不到信息,经过查阅资料才发现,应该用$(" ...