1. 程式人生 > 其它 >1openpyxl-工作簿工作表

1openpyxl-工作簿工作表

一安裝

安裝:pip install openpyxl

備註:

如果某一天庫不好使了,解決辦法如下:

1)卸載出問題的庫:
pip uninstall pandas
pip uninstall openpyxl
2)重新安裝
python -m pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
python -m pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple

二工作簿的新建儲存和開啟:

1建立工作簿(新建-儲存)

import openpyxl as vb
path 
= r'C:/Users/66907/Desktop/test2021.xlsx' workbook = vb.Workbook(path) #新建一個工作簿 workbook.save(path) #儲存工作簿

2開啟工作簿(讀取工作簿-指定工作表)

import openpyxl as vb
path = r'C:/Users/66907/Desktop/test2021.xlsx'
workbook = vb.load_workbook(path) #讀取工作簿
worksheet = workbook['1月']

三工作表的建立刪除與複製:

1顯示工作簿中所有工作表的名稱:

import openpyxl as vb
path 
= r'C:/Users/66907/Desktop/test2021.xlsx' workbook = vb.load_workbook(path) show_worksheets = workbook.worksheets #獲取所有工作表物件 for i in show_worksheets: print(i.title) #遍歷出每個工作表的名稱

2刪除指定的工作表:

import openpyxl as vb
path = r'C:/Users/66907/Desktop/test2021.xlsx'
workbook = vb.load_workbook(path) #開啟工作簿
worksheet = workbook['
3月'] #指定工作表 workbook.remove(worksheet) #刪除指定工作表 workbook.save(path) #在原表儲存 備註:如果要另存為新檔案,指定一個新的path即可!

3新建指定名稱的工作表:

import openpyxl as vb
path = r'C:/Users/66907/Desktop/test2021.xlsx'
workbook = vb.load_workbook(path) #開啟工作簿
workbook.create_sheet('3月') #建立工作表3月
workbook.save(path) #儲存工作簿

4複製指定名稱的工作表並給表重新命名:

import openpyxl as vb
path = r'C:/Users/66907/Desktop/test2021.xlsx'
workbook = vb.load_workbook(path) #讀取工作簿
copysheet = workbook.copy_worksheet(workbook['3月']) #複製工作表
copysheet.title = '4月' #修改工作表名
workbook.save(path) #儲存工作簿

四練習:

1如何批量新建工作表

import openpyxl as vb
path = r'C:/Users/66907/Desktop/test1223.xlsx'
workbook = vb.Workbook(path)
for i in range(1,32):
    workbook.create_sheet('12月' + str(i) + '')
workbook.save(path)

2如何批量修改工作表的名字:

import openpyxl as vb
path = r'C:/Users/66907/Desktop/test1223.xlsx'
workbook = vb.load_workbook(path)
show_sheets = workbook.worksheets
for i in show_sheets:
    i.title = '北京' + '_' + i.title
workbook.save(path)

3保留含有上海兩個字的表,其餘表全部刪除:

import openpyxl as vb
path = r'C:/Users/66907/Desktop/test1223.xlsx'
workbook = vb.load_workbook(path)
show_sheets = workbook.worksheets
for i in show_sheets:
    if i.title.split('_')[0] != '上海':
        worksheet = workbook[i.title]
        workbook.remove(worksheet)
workbook.save(path)

4複製30張表然後把模板刪除:

import openpyxl as vb
path = r'C:/Users/66907/Desktop/test1223.xlsx'
workbook = vb.load_workbook(path)
for i in range(1,31):
    copysheet = workbook.copy_worksheet(workbook['模板']) #複製模板這張表
    copysheet.title = '12月' + str(i) + ''
workbook.remove(workbook['模板']) #刪除模板表
workbook.save(path)