­

Excel文件读写操作1(xls)

一、Python-Excel常用的库:xlrd(read)、xlwt(write)、xlutils、openpyxl

1、xlrd  读取Excel文件,支持 .xls 和 .xlsx 格式。

2、xlwt  写入Excel文件,只支持 .xls 格式。

3、xlutils  操作Excel文件的实用工具,如复制、分割、筛选等。

4、openpyxl  既可以读文件、也可以写文件、也可以修改文件;但是openpyxl库不支持xls格式的Excel文档,如果要读写xls格式的文档,可以使用Excel进行相应的格式转化,或者使用xlwt库进行写的操作。

二、安装xlwt、xlrd库

1、安装xlwt库

  pip install xlwt

  pip install xlwt -i //pypi.douban.com/simple/

  

 2、安装xlrd库

  pip install xlrd

  pip install xlrd -i //pypi.douban.com/simple/

  

 3、查看已安装的库

  pip list

  pip show xlwt

三、xlwt创建xls文件并写入数据

xlwt创建xls文件并写入操作步骤

1、导包:import xlwt

2、创建一个对象(.xls文件):book1 = xlwt.Workbook(encoding=’utf-8′)

3、添加一个sheet工作表:sheet1 = book1.add_sheet(‘info’)

4、添加内容:

  方式一:

    sheet1.write(0, 0, ‘username’)

    sheet1.write(0, 1, ‘password’)

  方式二:

    row2 = [‘admin’, ‘123456’]

    for i in range(len(row2)):

      sheet1.write(1, i, row2[i])

5、保存文件:book1.save(‘login.xls’)

四、 xlwt打开已有xls文件并写入数据

把数据写入已存在的Excel,需要使用xutils库

1、打开已有xsl文件:xlrd.open_workbook(‘login.xls’, formatting_info=True)

2、注意添加参数formatting_info=True,得以保存之前数据的格式。

3、使用xutils中copy拷贝出一份,成为新的xlwt的Workbook变量:

4、通过get_sheet去获得对应的sheet,拿到sheet变量后,往sheet写入新的数据

5、写完数据后,save保存

 五、xlrd库读取excel

xlrd是个跨平台的库,能够在windows、linux/unix等平台上使用,xlrd支持读取.xls和.xlsx的Excel文件,只支持读取,不支持写入。

1、导包:import xlrd

2、打开一个文件(.xls或.xlsx文件):book = xlrd.open_workbook(‘login.xls’)

3、使用sheet工作表:

  sheet名称:sh1 = book.sheet_by_name(‘info’)

  sheet索引:sh1 = book.sheet_by_index(0)

4、读取sheet工作表的属性信息

  当前sheet名称:sh1.name

  当前sheet的总行数:sh1.nrows

  当前sheet的总列数:sh1.ncols

  xls/xlsx文件所有sheet名称:book.sheet_names()

5、读取sheet工作表存储的文本内容:

  读取某一行:row1 = sh1.row_values(0)

  读取某一列:col1 = sh1.col_values(0)

  读取某一个单元格:

    cell = sh1.cell_value(0,0)

    cell = sh1.cell(0,1).value

 1 import xlrd
 2 
 3 # 打开文件
 4 book1 = xlrd.open_workbook('login.xls')
 5 # 获取名为info的sheet
 6 she1 = book1.sheet_by_name('info')
 7 # 当前sheet名字
 8 sname = she1.name
 9 print(sname)
10 # 当前行数
11 rows = she1.nrows
12 print(rows)
13 # 当前列数
14 cols = she1.ncols
15 print(cols)
16 # 所以sheet的名称
17 all_sheet = book1.sheet_names()
18 print(all_sheet)
19 # 第一行第一列内容
20 A1 = she1.cell(0, 0).value
21 print(A1)
22 # 第二行内容
23 row1 = she1.row_values(1)
24 print(row1)
25 # 第二列内容
26 col1 = she1.col_values(1)
27 print(col1)
28 # 第四行,第一列,取两个
29 row4_col3 = she1.row_values(3,0,2)
30 print(row4_col3)