【python小记】python操作excel文件
题记:
最近因为工作需要,学习了python,瞬间对这个轻松快捷的语给吸引了,以前只知道js脚本是写网页的,没有想到python这个脚本语言的应用范围可以这么广泛,现在做一些简单或稍微复杂的操作,基本都第一时间考虑python,可以让我把大量时间放在解决问题的思路上,而不是语言本身。这个时候才体会到什么叫“life is short, you need python!”的精髓!
==========================分割线==================================
【CSV】
CSV是一种广泛使用的文件格式,所谓“CSV”,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。出现在档案总管中的档案类型是「逗号分格」。excel文件可以直接保存为csv文件,在计算机中,csv也可以直接用excel打开,算是一种比较方便的操纵excel文件的方式吧。
主要是python自带csv的Module,可以直接import,它的操作方式也比较简单,就是普通的文件读写
打开,读取文件:
import csv
file = csv.reader(file('my.csv','rb'))
for line in file:
for item in line:
print item
这里注意,如果文件是一个对象则要加入b属性,读出来的数据可以看作一个二维列表,每一行就是csv文件的一行,而每个item,就是逗号分隔的每个数据(即excel中的一个框)
写文件:
import csv
with open('eggs.csv', 'wb') as csvfile:
#写文件格式是以行为单位写,每行‘[’内字符串以‘,’分隔‘]’ 或者使用算术表达式如下
spamwriter = csv.writer(csvfile)
spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
#或是多行写
lists = [['1','2'],
['3','4']]
spamwriter.writerows(lists)
【XLS】
先要装xlrd模块(读取xls):https://pypi.python.org/pypi/xlrd
安装方法,解压文件,然后在命令行下进入文件夹,使用python setup.py install
import xlrd
wb = xlrd.open_workbook('eggs.xls')
sn = wb.sheet_names() #获得工作所有表名
print 'sheet names :'+str(sn)
#wb.sheet_by_name('name') 通过工作表名进入工作表
sh = wb.sheet_by_index(0) #通过index进入工作表 sheets = wb.sheets() #获取所有工作表
for sheet in sheets:
for row in range(sheet.nrows):
for col in range(sheet.ncols):
print sheet.cell(row,col).value
安装了xlrd可以读取xls文件的内容了,如果需要写xls文件,还要安装xlwt:https://pypi.python.org/pypi/xlrd
安装方法一致
import xlwt; wb = xlwt.Workbook()
ws = wb.add_sheet('mysheet')
ws.write(0, 0, 1.01) #把表格想象成二维表,前2各参数是行列
ws.write(0, 1, 'haha')
ws.write(1,0,'A')
ws.write(1,1,'B')
ws.write(1,2,'SUM')
ws.write(2, 0, 123)
ws.write(2, 1, 456)
ws.write(2, 2, xlwt.Formula("A3+B3"))
wb.save('example.xls')
实际结果:
不仅如此,在写入文件的时候还可以加入格式:(转自:http://www.crifan.com/export_data_to_excel_file_in_python/)
import xlwt;
from datetime import datetime; style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on',num_format_str='#,##0.00');
style1 = xlwt.easyxf(num_format_str='D-MMM-YY'); wb = xlwt.Workbook();
ws = wb.add_sheet('A Test Sheet'); ws.write(0, 0, 1234.56, style0);
ws.write(1, 0, datetime.now(), style1);
ws.write(2, 0, 1);
ws.write(2, 1, 1);
ws.write(2, 2, xlwt.Formula("A3+B3")); wb.save('example.xls');
【python小记】python操作excel文件的更多相关文章
- python使用xlrd操作Excel文件
一.xlrd读取Excel文件 用xlrd进行读取比较方便,流程和平常手动操作Excel一样,打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell). 例子:要打开当前 ...
- python 操作Excel文件
1 安装xlrd.xlwt.xlutils cmd下输入: pip install xlrd #读取excel pip install xlwt #写入excel pi ...
- python第三方库——xlrd和xlwt操作Excel文件学习
python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt Downloadin ...
- Python【操作EXCEL文件】
#Python中,对EXCEL文件的读写操作需要安装.导入几个第三方模块#xlrd模块:只能读取EXCEL文件,不能进行写操作#xlwt模块:只能进行写操作,但是不能是覆盖写操作(也就是修改Excel ...
- 用Python的pandas框架操作Excel文件中的数据教程
用Python的pandas框架操作Excel文件中的数据教程 本文的目的,是向您展示如何使用pandas 来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其 ...
- 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)
前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...
- Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
- 【转发】Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
- 转 Python - openpyxl 读写操作Excel
Python - openpyxl 读写操作Excel openpyxl特点 openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...
- Java生成和操作Excel文件(转载)
Java生成和操作Excel文件 JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...
随机推荐
- 六.深浅copy
先问问大家,什么是拷贝?拷贝是音译的词,其实他是从copy这个英文单词音译过来的,那什么是copy? copy其实就是复制一份,也就是所谓的抄一份.深浅copy其实就是完全复制一份,和部分复制一份的意 ...
- Python 3.6 抓取微博m站数据
Python 3.6 抓取微博m站数据 2019.05.01 更新内容 containerid 可以通过 "107603" + user_id 组装得到,无需请求个人信息获取: 优 ...
- [CSS] prefers-reduced-motion
The prefers-reduced-motion CSS media feature is used to detect if the user has requested that the sy ...
- Discrete Cosine Transform
离散余弦变换 由于实信号傅立叶变换的共轭对称性,导致DFT后在频域中有一半的数据冗余.离散余弦变换(DCT)在处理实信号时比离散傅立叶(DFT)变换更具优势.在处理声音信号这类实信号时,DFT得到的结 ...
- Call to undefined function imagecreatefromjpeg() 让GD支持JPEG格式的图片扩展
安装扩展支持jpeg格式: 第一步:首先下载文件: 版本v8: wget http://www.ijg.org/files/jpegsrc.v8b.tar.gz 版本v9: wget http://w ...
- Git常用命令及常见报错:You have not concluded your merge (MERGE_HEAD exists)、清理无效的远程追踪分支
一.常用命令 切换到master分支:git checkout master 查看已有本地及远程分支:git branch -a(先git pull拉下全部数据) 查看远程分支:git branch ...
- 洛谷P1854 花店橱窗布置
题目 DP,直接递推比记忆化搜索简单. 定义状态\(dp[i][j]\)为前i行最后一个选择第i行第j个数所得到最大值. 易得状态转移方程 \(dp[i][j]=max(dp[i-1][k]+a[i] ...
- 多项式乘法,sb题
给定一个n,输出\((a1+x)*(a2+x)*...(an+x)\)的多项式长度. 每一个字符(包括"a"."x"."(".") ...
- httpd.exe你的电脑中缺失msvcr110.dll怎么办(WIN2008服务器环境装WAMP2.5出现的问题)
httpd.exe你的电脑中缺失msvcr110.dll怎么办 去微软官方下载相应的文件 1 打开上面说的网址 Download and install, if you not have it alr ...
- Linux最大线程数限制
开始以为是内存不足导致无法创建线程,把jvm的-Xms,-Xmx的2个参数都加大一倍:-Xms2048m -Xmx2048m.把-Xss参数调小,还是启动失败.应该是系统方面的限制了,这台机器上搞了1 ...