题记:

最近因为工作需要,学习了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文件的更多相关文章

  1. python使用xlrd操作Excel文件

    一.xlrd读取Excel文件 用xlrd进行读取比较方便,流程和平常手动操作Excel一样,打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell). 例子:要打开当前 ...

  2. python 操作Excel文件

    1   安装xlrd.xlwt.xlutils cmd下输入: pip install xlrd        #读取excel pip install xlwt        #写入excel pi ...

  3. python第三方库——xlrd和xlwt操作Excel文件学习

    python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt  Downloadin ...

  4. Python【操作EXCEL文件】

    #Python中,对EXCEL文件的读写操作需要安装.导入几个第三方模块#xlrd模块:只能读取EXCEL文件,不能进行写操作#xlwt模块:只能进行写操作,但是不能是覆盖写操作(也就是修改Excel ...

  5. 用Python的pandas框架操作Excel文件中的数据教程

    用Python的pandas框架操作Excel文件中的数据教程 本文的目的,是向您展示如何使用pandas 来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其 ...

  6. 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)

    前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...

  7. Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  8. 【转发】Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  9. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  10. Java生成和操作Excel文件(转载)

    Java生成和操作Excel文件   JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...

随机推荐

  1. 题解 UVa11076

    题目大意 多组数据,每组数据给出 \(n\) 个一位数,求出这些一位数组成的所有不同整数的和. 分析 考虑一个数对某一位的贡献,为这个数乘以其他数的全排列数,问题转化为可重复元素的全排列. 引理 \( ...

  2. 为啥用DTO

    0.部分参数对于开发前端的人来说是无意义的,因为传递也没有效果.所以不应该暴露给前端使用. 1.依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析. 2.减少请求次数,大大提高效率. 3 ...

  3. 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(HTTP介绍,TCP实现HTTP下载文件)

    https://www.cnblogs.com/yangfengwu/p/10357564.html 看了好多文章.....唉,还是自己亲自动手用网络监控软件测试吧 先看这个节安装WEB服务器.... ...

  4. [RN] React Native 下列表 FlatList 和 SectionList

    1.FlatList FlatList组件用于显示一个垂直的滚动列表,其中的元素之间结构近似而仅数据不同. FlatList更适于长列表数据,且元素个数可以增删.和ScrollView不同的是,Fla ...

  5. 洛谷 题解 P3984 【高兴的津津】

    潇洒の开始 大水题一枚/小声说话 先吐槽一下: 为什么津津经历了魔鬼训练就可以Au日常QWQ,人家也是早起晚睡的好吧 (谁说魔鬼训练就一定是早起晚睡的) 思路 津津的高兴是持续m天的,但是一旦在这m中 ...

  6. web安全总结

    一.XSS 首先说下最常见的 XSS 漏洞,XSS (Cross Site Script),跨站脚本攻击,因为缩写和 CSS (Cascading Style Sheets) 重叠,所以只能叫 XSS ...

  7. [bzoj 4833]最小公倍佩尔数

    传送门 Description   Let \((1+\sqrt2)^n=e(n)+f(n)\cdot\sqrt2\) , both \(e(n)\) and \(f(n)\) are integer ...

  8. 「ZJOI2016」小星星

    传送门 Description Solution 容斥,考虑有多少个节点不被匹配到,求出的方案,多个点可以同时不被匹配到 状态压缩+树形dp Code  #include<bits/stdc++ ...

  9. fillter根据value来匹配字段

    字段对应 let cashBackState = { 'WAIT_FIVE': '满5单可返现', 'FINISHED': '已返现' } filters: { cashBackStateFilter ...

  10. 第06组 Beta版本演示

    队名:福大帮 组长博客链接: https://www.cnblogs.com/mhq-mhq/p/12052263.html 作业博客 : https://edu.cnblogs.com/campus ...