1、以下表舉例說明[1,1]

2、安裝及導入
pip install openpyxl
import openpyxl
3、加載Excel文件,返回一個工作簿對象, openpyxl只能處理 .xlsx格式的表格
wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\測試一下.xlsx')
4、選擇表
table = wb['表2'] # <Worksheet "表2">
5、顯示所有的表
list = wb.sheetnames # ['表1', '表2', '表3']
6、獲取最大行數及列數
r = table.max_row # 10
c = table.max_column # 5
7、獲取具體單元格的值
c = table.cell(row=1,column=1).value # 學號
8、寫入數據,並保存文件
table.cell(row=10,column=1,value='python666')
wb.save(r'C:\Users\Administrator\Desktop\測試一下.xlsx')
9、獲取某列的所有值
for i in range(1,table.max_row+1):
print(table.cell(row=i, column=2).value)
10、獲取某行的所有值
for i in range(1,table.max_column+1):
print(table.cell(row=2, column=i).value)
11、獲取所有值(元組)
點擊查看代碼
import openpyxl
wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\測試一下.xlsx')
table = wb['表2']
for i in table.values:
print(i)
執行結果:
('學號', '姓名', '年齡', '專業', '考試時間')
('B00001', '張1', 18, '語文', datetime.datetime(2019, 6, 18, 0, 0))
('B00002', '張2', 19, '數學', datetime.datetime(2019, 6, 19, 0, 0))
('B00003', '張3', 20, '英語', datetime.datetime(2019, 6, 20, 0, 0))
('B00004', '張4', 21, '物理', datetime.datetime(2019, 6, 21, 0, 0))
('B00005', '張5', 22, '化學', datetime.datetime(2019, 6, 22, 0, 0))
('B00006', '張6', 23, '生物', datetime.datetime(2019, 6, 23, 0, 0))
('B00007', '張7', 24, '歷史', datetime.datetime(2019, 6, 24, 0, 0))
12、獲取所有值(鍵值對)
點擊查看代碼
import openpyxl
wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\測試一下.xlsx')
table = wb['表2']
r = []
L = []
for i in range(1,table.max_column+1):
# print(table.cell(row=2, column=i).value)
r.append(table.cell(row=1, column=i).value)
for i in range(2, table.max_row+1):
d = {}
for j in range(1, table.max_column+1):
d[r[j-1]] = table.cell(row=i,column=j).value
# print(d)
L.append(d)
print(L)
執行結果
[
{'學號': 'B00001', '姓名': '張1', '年齡': 18, '專業': '語文', '考試時間': datetime.datetime(2019, 6, 18, 0, 0)},
{'學號': 'B00002', '姓名': '張2', '年齡': 19, '專業': '數學', '考試時間': datetime.datetime(2019, 6, 19, 0, 0)},
{'學號': 'B00003', '姓名': '張3', '年齡': 20, '專業': '英語', '考試時間': datetime.datetime(2019, 6, 20, 0, 0)},
{'學號': 'B00004', '姓名': '張4', '年齡': 21, '專業': '物理', '考試時間': datetime.datetime(2019, 6, 21, 0, 0)},
{'學號': 'B00005', '姓名': '張5', '年齡': 22, '專業': '化學', '考試時間': datetime.datetime(2019, 6, 22, 0, 0)},
{'學號': 'B00006', '姓名': '張6', '年齡': 23, '專業': '生物', '考試時間': datetime.datetime(2019, 6, 23, 0, 0)},
{'學號': 'B00007', '姓名': '張7', '年齡': 24, '專業': '歷史', '考試時間': datetime.datetime(2019, 6, 24, 0, 0)}
]
13、獲取所有值(列表)
點擊查看代碼
import openpyxl
wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\測試一下.xlsx')
table = wb['表2']
L=[]
for i in range(2, table.max_row+1):
d = []
for j in range(1, table.max_column+1):
ss = table.cell(row=i,column=j).value
d.append(ss)
L.append(d)
print(L)
執行結果:
[
['B00001', '張1', 18, '語文', datetime.datetime(2019, 6, 18, 0, 0)],
['B00002', '張2', 19, '數學', datetime.datetime(2019, 6, 19, 0, 0)],
['B00003', '張3', 20, '英語', datetime.datetime(2019, 6, 20, 0, 0)],
['B00004', '張4', 21, '物理', datetime.datetime(2019, 6, 21, 0, 0)],
['B00005', '張5', 22, '化學', datetime.datetime(2019, 6, 22, 0, 0)],
['B00006', '張6', 23, '生物', datetime.datetime(2019, 6, 23, 0, 0)],
['B00007', '張7', 24, '歷史', datetime.datetime(2019, 6, 24, 0, 0)]
]
14、批量寫入數據
點擊查看代碼
import openpyxl
wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\測試一下.xlsx')
table = wb['表2']
for i in range(9,12):
for j in range(1,6):
if j == 1:
table.cell(row=i,column=j,value= '企業文化{0}'.format(j))
if j == 2:
table.cell(row=i,column=j,value= '規章制度{0}'.format(j))
if j == 3:
table.cell(row=i,column=j,value= '企業願景{0}'.format(j))
if j == 4:
table.cell(row=i,column=j,value= '個人追求{0}'.format(j))
if j == 5:
table.cell(row=i,column=j,value= '生活理想{0}'.format(j))
wb.save(r'C:\Users\Administrator\Desktop\測試一下.xlsx')
執行結果:

