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') |