python读Excel

xlrd and xlutils

1
#coding=utf-8
2
import xlrd
3
from xlutils.copy import copy
4
import os
5
6
######################
7
# 文件读取
8
######################
9
#读取的文件路径
10
file_path = r'./path/to/excel.xlsx'
11
12
# 此代码可以不用
13
#文件中的中文转码
14
file_path = file_path.decode('utf-8')
15
16
17
#获取数据
18
data = xlrd.open_workbook(file_path)
19
20
#获取sheet
21
table = data.sheet_by_index(0)
22
23
24
######################
25
# 读取表内信息
26
######################
27
#获取总行数
28
nrows = table.nrows
29
print("row num: ", nrows)
30
#获取总列数
31
ncols = table.ncols
32
print("col num: ",ncols)
33
34
#获取一行的数值
35
print(table.row_values(1))
36
37
# 获取一列的数值
38
print(table.col_values(1))
39
print(table.col_values(0))
40
41
#获取一个单元格的数值
42
cell_value = table.cell(1,1).value
43
print(cell_value)
44
45
46
######################
47
# Excel表格的写操作
48
######################
49
book = xlrd.open_workbook(file_path)
50
#复制一个excel
51
new_book = copy(book)#复制了一份原来的excel
52
#通过获取到新的excel里面的sheet页
53
sheet = new_book.get_sheet(0)#获取到第一个sheet页
54
#写入excel,第一个值是行,第二个值是列
55
sheet.write(6, 0, 'Dandan Sun')
56
#保存新的excel,保存excel必须使用后缀名是.xls的,不是能是.xlsx的
57
new_book.save('stu_new.xls')
58
59
#删除旧文件并重命名以做到修改文件的效果
60
os.remove('stu.xls')
61
os.rename('stu_new.xls','stu.xls')