国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python3結(jié)合openpyxl庫實現(xiàn)excel操作的實例代碼

2020-01-04 14:33:17
字體:
供稿:網(wǎng)友

一.相關(guān)說明:

1、openpyxl(可讀寫excel表)專門處理Excel2007及以上版本產(chǎn)生的xlsx文件;2007一下的版本為xls結(jié)尾的文件,需要使用 xlrd和xlwt庫進行操作
2、excel表的文字編碼如果是“gb2312” 讀取后就會顯示亂碼,請先轉(zhuǎn)成Unicode

3、workbook: 工作簿,一個excel文件包含多個sheet。

4、sheet:工作表,一個workbook有多個,表名識別,如“sheet1”,“sheet2”等。

5、cell: 單元格,存儲數(shù)據(jù)對象

二.openpyxl的使用方法

1. 新建

import openpyxl# 新建一個空excel,表名為sheet,文件名為testwb = openpyxl.Workbook() # 創(chuàng)建新的excel文件,一個工作簿(workbook)在創(chuàng)建的時候同時至少也新建了一張工作表(worksheet)wb.save('test.xlsx')

2.表操作

注:從此操作往后都使用如下的測試數(shù)據(jù)

import openpyxlimport openpyxl.styles# 打開已有的excelwb = openpyxl.load_workbook("test.xlsx")# ------------------ 表操作 ------------------# 新建sheet表wb.create_sheet(index=2, style="margin: 0px; padding: 0px; outline: none; line-height: 25.2px; font-size: 14px; width: 660px; overflow: hidden; clear: both; font-family: tahoma, arial, "Microsoft YaHei";">	
# ------------------ 讀取數(shù)據(jù) ------------------# 獲取單元格數(shù)據(jù)sheet1_max_colum = sheet1.max_column # 獲取最大列數(shù) 結(jié)果:3# ws = wb.active # 獲取當前活動的sheet頁sheet1_max_row = sheet1.max_row # 獲取最大行數(shù) 結(jié)果:10A1_value = sheet1['A1'].value # 獲取單元格A1值 結(jié)果:a1A1_column = sheet1['A1'].column # 獲取單元格A1列值 結(jié)果: AA1_row = sheet1['A1'].row  # 獲取單元格A1行號 結(jié)果: 1A1 = sheet1.cell(row=1, column=1).value # 獲取第一行第一列的單元格值 結(jié)果:a1# 獲取C列的所有數(shù)據(jù)list_sheet1_column_C = []for i in sheet1["C"]:  list_sheet1_column_C.append(i.value)# 獲取第1行的所有數(shù)據(jù)list_sheet1_row_1 = []for i in sheet1[1]:  list_sheet1_row_1.append(i.value)# 讀取所有數(shù)據(jù)list_sheet1_all = []for row in sheet1.rows:  for cell in row:    list_sheet1_all.append(cell.value) # 按行循環(huán)獲取所有的值,保存在 list_sheet1_all 列表中

4.寫入數(shù)據(jù)

# ------------------ 寫入數(shù)據(jù) ------------------sheet1.cell(row=1, column=2, value="B1") # 修改第一行第二列的單元格的值為B1sheet1["A1"] = "A1" # 直接修改A1單元格的值為A1sheet1["B11"] = "B11" # 新增B11單元格的值為B11sheet1.title = "test_sheet" # 修改sheet1的表名為test_sheet

5.表格樣式調(diào)整

# ------------------ 表格樣式調(diào)整 ------------------# 表格樣式支持:字體、顏色、模式、邊框、數(shù)字格式等# A1單元格 等線24號加粗斜體,字體顏色淺藍色sheet1["B11"].font = openpyxl.styles.Font(name="宋體", size=24, italic=True, color="00CCFF", bold=True)# B1單元格 水平上下居中sheet1["B11"].alignment = openpyxl.styles.Alignment(horizontal="center", vertical="center")# 第一行高度設(shè)置為30sheet1.row_dimensions[1].height = 30# C列的寬度設(shè)置為35sheet1.column_dimensions["C"].width = 35

6.保存文件

# 保存文件,注意文件打開時文件保存會出錯wb.save("test.xlsx")

補充:下面通過實例代碼看下python3 openpyxl基本操作,具體代碼如下所示:

#coding:utf-8import xlrdimport xlwt# 讀寫2007 excelimport openpyxlimport sys#讀取設(shè)備sn# def readSN(path):#   wb = openpyxl.load_workbook(path)#   sheet = wb.active#   dict = []#   for i in range(2, sheet.max_row +1):#     c = sheet["C" + str(i)].value;#     d = sheet["D" + str(i)].value;##     dict.append(d)#     #dict.append(d)#     #print(c,d)#   return dict;##   pass;# print(readSN("./sim/1.xlsx"))def read07Excel(path,path1):  wb = openpyxl.load_workbook(path)  sheet = wb.active  # print(sheet.max_column) # 獲取最大列數(shù)  # print(sheet.max_row) # 獲取最大行數(shù)  #print(sheet['B1'].value)  wb1 = openpyxl.load_workbook(path1)  sheet1 = wb1.active  for i in range(2,sheet.max_row):    iccid = sheet["B"+str(i)].value;    len_iccid = len(iccid)    if len_iccid == 20 :      sub_iccid = iccid[16:-1]    elif len_iccid == 21:      sub_iccid = iccid[17:-1]    for x in range(1,sheet1.max_row):      #print(sheet1["D"+str(x)].value)      if sub_iccid+"N" == sheet1["D"+str(x)].value:        sheet["O"+str(i)].value = sheet1["C"+str(x)].value;        wb.save(filename=path)        print(str(sheet1["D"+str(x)].value) + " "+ str(sheet1["C"+str(x)].value) +" "+ str(iccid))        print()      pass    # 寫入數(shù)據(jù)    # s =sheet["P"+str(i)].value = "dsdaf";    # wb.save(filename=path)    # p = sheet["P" + str(i)].value;    #print(sub_iccid)  # for row in sheet.rows:  #   for cell in row:  #     print(cell.value, "/t", end="")  #     print(cell.column, "/t", end="")  #  #  #   print()  #   sys.exit()# path = "./sim/2.xlsx"# wb = openpyxl.load_workbook(path)# #sheet = wb.sheetnames[0] #獲取名稱# sheet = wb.active# 分別返回#print(sheet['A1'].value) #獲取單元格A1值read07Excel("./sim/2.xlsx","./sim/1.xlsx")# wb=openpyxl.load_workbook('./sim/1.xlsx') #打開excel文件# print(wb.sheetnames) #獲取工作簿所有工作表名

總結(jié)

以上所述是小編給大家介紹的python3結(jié)合openpyxl庫實現(xiàn)excel操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 庆元县| 上林县| 安达市| 汕尾市| 台北县| 兴海县| 东丽区| 渝北区| 东阿县| 房山区| 福泉市| 莱阳市| 罗江县| 耒阳市| 灌阳县| 青田县| 海门市| 封开县| 德化县| 武义县| 江西省| 遂昌县| 巩义市| 忻城县| 义马市| 于都县| 凌海市| 桃园市| 尼玛县| 通榆县| 化德县| 四会市| 留坝县| 密山市| 西吉县| 马龙县| 河西区| 布拖县| 河东区| 安吉县| 清水河县|