python与excel交互-xlrd/xlwt - python与excel表格交互

假设我的表格文件叫demo.xls,三个sheet,第一个sheet内容如下

193820_3lvE_123914.jpg

则要访问3行第D列单元格则使用如下代码

----------------------------------------------------------------------------

>>> import xlrd

>>> import os

>>> import sys

>>> wb=xlrd.open_workbook("demo.xls")

>>> range(wb.nsheets) #可以看到,一共有三个sheet,其索引为0,1,2

[0, 1, 2]

>>> sht1=wb.sheet_by_name("demo_sheet1") #等同于使用sht2=wb.sheet_by_index(0)

>>> print sht1.cell_value(2,3) #索引从0开始,先行,后列,D4对应与(2,3)

>>> print sht1.cell_value(4,1) #B5对应(4,1)

餐饮

>>> for item in sht1.row_values(1): #可以输出整个一行,返回为列表

print item,

4.0 电视剧 web 是

=========xlwt 写============

xlwt是python的一个可以写生成excel表格文件的module。主要特点在于写的功能比较强大,提供了表单行数、列数、单元格数据类型等,在使用python的时候import xlrd就可以,下载 http://pypi.python.org/pypi/xlwt,编写如下代码:

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,datetime.now()) #A3

ws.write(2,1,datetime.now()) #B3

ws.write(2,2,xlwt.Formula("A3+B3"))

wb.save("example.xls")

生成一个名为”example.xls"的表格,如下: 其中C3(2行2列) 使用了公式 "=B2+B3”,很帅吧

193923_HGUS_123914.jpg

写了两个和坐标有关的函数def strPosition2Coordinate(strCoordinate = "A1"):

'''

A,B....Z,AA,AB,AC....AZ,BA,内部将A-Z 与0-25对应,那么这个列相当于26进制的整数

列字母限制在2位,且只支持到256列,即IV,如AB1,A3合法,ABC1,IW, IX等非法。

'''

nSplitPos = len(re.split("[0-9]+", strCoordinate)[0])

strRow, strCol = strCoordinate[nSplitPos:], strCoordinate[:nSplitPos]

assert(strCol.isupper() and strRow.isdigit() and len(strCol) <= 2)

idx = 0

for item in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": exec("%s=%d" % (item, idx)); idx += 1

nRow, nCol = (int(strRow) - 1, 0)

if len(strCol) == 1: exec("nCol = %s" % strCol)

if len(strCol) == 2: exec("nCol = (%s + 1) * 26 + (%s + 1) - 1 " % (strCol[0], strCol[1]))

assert(nCol <= 255) #

return (nRow, nCol)

def strCoordinate2Position(nRow = 0, nCol = 0):

strCoordinate = ""

assert(nCol <= 675)

strBasicLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

nQuotient, nRemainder = nCol / 26, nCol % 26

if nQuotient == 0: strCoordinate = strBasicLetters[nRemainder] + str(nRow + 1)

if nQuotient != 0: strCoordinate = strBasicLetters[nQuotient - 1] + strBasicLetters[nRemainder] + str(nRow + 1)

return strCoordinate

从example里提出的一些常见的功能函数,使用的时候可以参考:echo python big-16Mb.py #大数据文件

echo python big-35Mb.py #大数据文件

python blanks.py #虚框,中划线等

python col_width.py #设置列距

python country.py #

python dates.py #各种日期及格式

python format.py #颜色,中划线,加粗

python formulas.py #公式

python formula_names.py #

python hyperlinks.py #超链接

python image.py #插入图片

python merged.py #合并单元格和双线边框

python merged0.py #合并单元格

python merged1.py #边框线

python mini.py #最小测试

python num_formats.py #数字格式,颜色

python outline.py

python panes.py #黑线和分隔

python parse-fmla.py

python protection.py #不知道什么鸟东东

python row_styles.py #设置不同的行距 fnt = Font();fnt.height = i*20;style = XFStyle();style.font = fnt;ws.row(i).set_style(style)

python row_styles_empty.py

python simple.py

python sst.py

python unicode0.py #Оля

python unicode1.py #不知道什么鸟字符

python unicode2.py #汉语汉字,特殊字符等

python wsprops.py

python xlwt_easyxf_simple_demo.py

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么学习数据挖掘】       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。      从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。【超实用的课程内容】      本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。本课程分为三大部分:基础知识篇:主要讲解数据挖掘这项技能的基本工作流程和介绍和入门必须的基本技能Python语言的入门,带领大家了解数据挖掘的常见操作和基础知识。数据采集篇:学习如何解决数据挖掘的数据来源问题,读取各类型不同的数据包括CSV,excel,MySQL进行数据采集的交互数据探索篇:本篇主要解决数据的预处理保证数据的质量并用常见数据挖掘算法进行特征提取,分析数据背后隐含的信息。【报名须知】课程采取录播模式,课程永久有效,可无限次观看课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化【如何开始学习?】PC端:报名成功后可以直接进入课程学习移动端:下载CSDN学院或CSDN

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值