python怎么读取和写入excel表格


本文摘自php中文网,作者(*-*)浩,侵删。

最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理。但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理。以前正好在一本书上看到过,使用Python来处理Excel表格,可惜没有仔细看。

Python操作Excel,主要用到xlrd和xlwt这两个库,即xlrd是读Excel,xlwt是写Excel的库。

Python写Excel——xlwt(推荐学习:Python视频教程)

Python写Excel的难点,不在构造一个Workbook的本身,而是填充的数据,不过这不在范围内。

在写Excel的操作中,也有棘手的问题,比如写入合并的单元格,就是比较麻烦的,另外写入还有不同的样式。

详细代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

import xlwt

 

#设置表格样式

def set_style(name,height,bold=False):

    style = xlwt.XFStyle()

    font = xlwt.Font()

    font.name = name

    font.bold = bold

    font.color_index = 4

    font.height = height

    style.font = font

    return style

 

#写Excel

def write_excel():

    f = xlwt.Workbook()

    sheet1 = f.add_sheet('学生',cell_overwrite_ok=True)

    row0 = ["姓名","年龄","出生日期","爱好"]

    colum0 = ["张三","李四","恋习Python","小明","小红","无名"]

    #写第一行

    for i in range(0,len(row0)):

        sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))

    #写第一列

    for i in range(0,len(colum0)):

        sheet1.write(i+1,0,colum0[i],set_style('Times New Roman',220,True))

 

    sheet1.write(1,3,'2006/12/12')

    sheet1.write_merge(6,6,1,3,'未知')#合并行单元格

    sheet1.write_merge(1,2,3,3,'打游戏')#合并列单元格

    sheet1.write_merge(4,5,3,3,'打篮球')

 

    f.save('test.xls')

 

if __name__ == '__main__':

    write_excel()

Python读Excel——xlrd

Python读取Excel表格,相比xlwt来说,xlrd提供的接口比较多,但过程也有几个比较麻烦的问题,比如读取日期、读合并单元格内容。

整体思路为,打开文件,选定表格,读取行列内容,读取表格内数据

详细代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

import xlrd

from datetime import date,datetime

 

file = 'test3.xlsx'

 

def read_excel():

 

    wb = xlrd.open_workbook(filename=file)#打开文件

    print(wb.sheet_names())#获取所有表格名字

 

    sheet1 = wb.sheet_by_index(0)#通过索引获取表格

    sheet2 = wb.sheet_by_name('年级')#通过名字获取表格

    print(sheet1,sheet2)

    print(sheet1.name,sheet1.nrows,sheet1.ncols)

 

    rows = sheet1.row_values(2)#获取行内容

    cols = sheet1.col_values(3)#获取列内容

    print(rows)

    print(cols)

 

    print(sheet1.cell(1,0).value)#获取表格里的内容,三种方式

    print(sheet1.cell_value(1,0))

    print(sheet1.row(1)[0].value)

更多Python相关技术文章,请访问Python教程栏目进行学习!

以上就是python怎么读取和写入excel表格的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python整数怎么表示

Python 2 map() reduce()函数用法讲解

Python如何另起一行?

Python使用协程与并发有什么用?

Python idle怎么生成程序文件

初学Python 请教学习路线

Python中dict是什么

Python按什么键运行

Python如何读取txt文件

如何用Python客户端开发?用实例进行Python模块详解

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...