最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年09月11日 17:29:50   作者:xugexuge  
這篇文章主要介紹了python3結(jié)合openpyxl庫(kù)實(shí)現(xiàn)excel操作的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

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

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

4、sheet:工作表,一個(gè)workbook有多個(gè),表名識(shí)別,如“sheet1”,“sheet2”等。

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

二.openpyxl的使用方法

1. 新建

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

2.表操作

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

import openpyxl
import openpyxl.styles
# 打開(kāi)已有的excel
wb = openpyxl.load_workbook("test.xlsx")
# ------------------ 表操作 ------------------
# 新建sheet表
wb.create_sheet(index=2, title="sheet3") # 可通過(guò)index控制創(chuàng)建的表的位置
# 獲取所有表名
sheet_names = wb.sheetnames # 得到工作簿的所有工作表名 結(jié)果: ['Sheet1', 'Sheet2', 'Sheet3']
# 根據(jù)表名刪除sheet表
wb.remove(wb[sheet_names[2]]) # 刪除上一步建的第3個(gè)工作表
# 根據(jù)表名打開(kāi)sheet表
sheet1 = wb[sheet_names[0]] # 打開(kāi)第一個(gè) sheet 工作表

3.讀取數(shù)據(jù)

# ------------------ 讀取數(shù)據(jù) ------------------
# 獲取單元格數(shù)據(jù)
sheet1_max_colum = sheet1.max_column # 獲取最大列數(shù) 結(jié)果:3
# ws = wb.active # 獲取當(dāng)前活動(dòng)的sheet頁(yè)
sheet1_max_row = sheet1.max_row # 獲取最大行數(shù) 結(jié)果:10
A1_value = sheet1['A1'].value # 獲取單元格A1值 結(jié)果:a1
A1_column = sheet1['A1'].column # 獲取單元格A1列值 結(jié)果: A
A1_row = sheet1['A1'].row  # 獲取單元格A1行號(hào) 結(jié)果: 1
A1 = 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.寫(xiě)入數(shù)據(jù)

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

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

# ------------------ 表格樣式調(diào)整 ------------------
# 表格樣式支持:字體、顏色、模式、邊框、數(shù)字格式等
# A1單元格 等線24號(hào)加粗斜體,字體顏色淺藍(lán)色
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è)置為30
sheet1.row_dimensions[1].height = 30
# C列的寬度設(shè)置為35
sheet1.column_dimensions["C"].width = 35

6.保存文件

# 保存文件,注意文件打開(kāi)時(shí)文件保存會(huì)出錯(cuò)
wb.save("test.xlsx")

補(bǔ)充:下面通過(guò)實(shí)例代碼看下python3 openpyxl基本操作,具體代碼如下所示:

#coding:utf-8
import xlrd
import xlwt
# 讀寫(xiě)2007 excel
import openpyxl
import 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
    # 寫(xiě)入數(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') #打開(kāi)excel文件
# print(wb.sheetnames) #獲取工作簿所有工作表名

總結(jié)

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

相關(guān)文章

  • Python實(shí)現(xiàn)文件夾整理下載

    Python實(shí)現(xiàn)文件夾整理下載

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)文件夾整理下載,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2023-09-09
  • Python 實(shí)現(xiàn) WebSocket 通信的過(guò)程詳解

    Python 實(shí)現(xiàn) WebSocket 通信的過(guò)程詳解

    WebSocket是一種在Web應(yīng)用程序中實(shí)現(xiàn)雙向通信的協(xié)議,與傳統(tǒng)的HTTP請(qǐng)求-響應(yīng)模型不同,WebSocket允許服務(wù)器主動(dòng)向客戶端推送數(shù)據(jù),實(shí)現(xiàn)實(shí)時(shí)性和互動(dòng)性,這篇文章主要介紹了Python 實(shí)現(xiàn) WebSocket 通信的過(guò)程詳解,需要的朋友可以參考下
    2024-06-06
  • Python turtle繪圖教程之七段數(shù)碼管顯示數(shù)字和字母

    Python turtle繪圖教程之七段數(shù)碼管顯示數(shù)字和字母

    這篇文章主要給大家介紹了關(guān)于Python turtle繪圖教程之七段數(shù)碼管顯示數(shù)字和字母的相關(guān)資料,Python是一種流行的編程語(yǔ)言,可用于編寫(xiě)各種類(lèi)型的程序,在數(shù)碼管顯示器上數(shù)字8由7條不同的線條組成,需要的朋友可以參考下
    2023-10-10
  • Pytorch實(shí)現(xiàn)List?Tensor轉(zhuǎn)Tensor,reshape拼接等操作

    Pytorch實(shí)現(xiàn)List?Tensor轉(zhuǎn)Tensor,reshape拼接等操作

    這篇文章主要介紹了Pytorch實(shí)現(xiàn)List?Tensor轉(zhuǎn)Tensor,reshape拼接等操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 解決pip安裝的第三方包在PyCharm無(wú)法導(dǎo)入的問(wèn)題

    解決pip安裝的第三方包在PyCharm無(wú)法導(dǎo)入的問(wèn)題

    這篇文章主要介紹了關(guān)于pip安裝的第三方包在PyCharm無(wú)法導(dǎo)入的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • python RabbitMQ 使用詳細(xì)介紹(小結(jié))

    python RabbitMQ 使用詳細(xì)介紹(小結(jié))

    這篇文章主要介紹了python RabbitMQ 使用詳細(xì)介紹(小結(jié)),詳細(xì)的介紹了RabbitMQ的概念以及使用,對(duì)學(xué)習(xí)RabbitMQ有一定的幫助,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-11-11
  • Python實(shí)現(xiàn)炸金花游戲的示例代碼

    Python實(shí)現(xiàn)炸金花游戲的示例代碼

    本文主要介紹了Python實(shí)現(xiàn)炸金花游戲的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • jupyter %matplotlib inline報(bào)錯(cuò)TypeError:print_svg() got an unexpected keyword argument‘orientation‘問(wèn)題

    jupyter %matplotlib inline報(bào)錯(cuò)TypeError:print_svg()&

    在Jupyter Notebook使用matplotlib時(shí)出現(xiàn)TypeError錯(cuò)誤,一般是由于ipython和matplotlib版本不兼容造成的,通過(guò)安裝ipympl并將魔法命令替換為%matplotlib ipympl,可以解決這個(gè)問(wèn)題
    2024-09-09
  • pandas?dataframe獲取所有行名稱與列名稱方法示例

    pandas?dataframe獲取所有行名稱與列名稱方法示例

    這篇文章主要給大家介紹了關(guān)于pandas?dataframe獲取所有行名稱與列名稱的相關(guān)資料,Pandas是Python中用于數(shù)據(jù)分析的非常重要的庫(kù),它提供了多種方法來(lái)獲取列名,需要的朋友可以參考下
    2023-09-09
  • 基于Python編寫(xiě)簡(jiǎn)易的成語(yǔ)接龍游戲

    基于Python編寫(xiě)簡(jiǎn)易的成語(yǔ)接龍游戲

    成語(yǔ)接龍是中華民族傳統(tǒng)的文字游戲。它歷史悠久,是傳統(tǒng)文字、文化、文明的一個(gè)縮影,也是老少皆宜的民間文化娛樂(lè)活動(dòng)。本文將用Python制作一個(gè)簡(jiǎn)單的成語(yǔ)接龍游戲,需要的可以參考一下
    2022-03-03

最新評(píng)論

卢湾区| 新津县| 永嘉县| 南木林县| 屏山县| 张家川| 清徐县| 潞城市| 东乌珠穆沁旗| 邢台县| 江城| 霍城县| 太保市| 开鲁县| 岫岩| 西和县| 新疆| 黄山市| 阿勒泰市| 宜丰县| 阳曲县| 岚皋县| 全州县| 昌平区| 义马市| 板桥市| 黄浦区| 通海县| 海城市| 防城港市| 英超| 青岛市| 阳西县| 贵德县| 邢台县| 昔阳县| 乐安县| 青岛市| 阳谷县| 茌平县| 偃师市|