-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexcel.py
More file actions
91 lines (72 loc) · 2.33 KB
/
excel.py
File metadata and controls
91 lines (72 loc) · 2.33 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
参考文档: https://openpyxl.readthedocs.io/en/latest/
'''
import openpyxl #pip3 install openpyxl
import os
import datetime
def demo_sheet(wb):
print("------------------demo_sheet--------------------")
###get active(default create) worksheet
ws = wb.active
ws.title = "default-sheet"
###create new worksheet
ws1 = wb.create_sheet("my-sheet")
###print sheet titles
print(wb.sheetnames) ###way 1
for sheet in wb: ###way 2
print(sheet.title)
def demo_read(wb):
print("------------------demo_read--------------------")
try:
wb["unexist"] ###get sheet
except:
print("'wb[\"unexist\"]' except!!!")
ws = wb["default-sheet"] ###get default sheet
ws.cell(row=1, column=1, value=1)
ws.cell(row=1, column=2, value=2)
ws.cell(row=2, column=1, value=2)
ws.cell(row=2, column=2, value=3)
print("iter in rows")
for r in ws.rows:
for cell in r:
print("\t", cell.value)
print("iter in columns")
for c in ws.columns:
for cell in c:
print("\t", cell.value)
print("iter in values, by row")
for r_vals in ws.values:
print(r_vals)
for val in r_vals:
print("\t", val)
def demo_write(wb):
print("------------------demo_write--------------------")
ws = wb["my-sheet"]
ws['A1'] = 42 #write row1,column1
ws['A2'] = datetime.datetime.now() #write row2,column1
ws.cell(row=1, column=2, value=12) #write row1,column2
cell = ws.cell(row=2, column=2) #write row2,column2
cell.value = 22
for r_vals in ws.values: #print values
print(r_vals)
def demo_change(wb):
print("------------------demo_change--------------------")
wb.save("sample.xlsx")
wb_new = openpyxl.load_workbook('sample.xlsx')
print("after load/wb_new: ", wb_new.sheetnames)
wb_new.create_sheet("change-sheet")
print("after change/wb_new: ", wb_new.sheetnames)
print("after change/wb: ", wb.sheetnames)
os.system("rm sample.xlsx")
def demo():
###create workbook, default create a worksheet
wb = openpyxl.Workbook()
###sub demo
demo_sheet(wb)
demo_change(wb)
demo_read(wb)
demo_write(wb)
if __name__ == "__main__":
demo()