<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何在 Python 中讀寫 Excel 文件

          共 5031字,需瀏覽 11分鐘

           ·

          2021-11-15 18:43

          英文 | https://python.plainenglish.io/how-to-read-and-write-excel-files-in-python-3da9825e4955
          翻譯 | 楊小愛

          使用 Python 讀取其他文件格式,我們也可以使用 openpyxl 讀取 Excel 文件。Openpxyl 正式用于編寫、讀取和更新 excel 文件。我們還將研究如何像 Excel 宏一樣使用 openpyxl 制作機器人。
          在本文中,我們將遍歷 openpyxl 模塊的所有類,學(xué)習(xí)讀寫 excel 文件以及修改現(xiàn)有的 excel 文件。
          首先,如果您已經(jīng)安裝了最新版本的 Python,請使用以下命令安裝 openpyxl。
          pip install openpyxl
          讀取Excel文件:
          要從excel文件中讀取數(shù)據(jù),首先,我們需要導(dǎo)入模塊并設(shè)置openpyxl的讀取格式。檢查以下代碼以讀取文件數(shù)據(jù)設(shè)置。
          #import libraries from openpyxl import load_workbook
          wb = load_workbook("Excel.xlsx")sheet = wb.active
          從上面的代碼示例中,我們已經(jīng)看到 openpyxl 的 load_workbook 類采用 Excel 文件名參數(shù),接下來,我們將讀取 Excel 文件上的工作表。
          正如我們所知,Excel 文件可以有無限的工作表,您可以選擇當(dāng)前活動的工作表,但如果您有多個工作表,則可以使用以下格式選擇特定的工作表來讀取數(shù)據(jù)。
          #import libraries from openpyxl import load_workbook#Selecting specific sheetwb = load_workbook("Excel.xlsx")sheet = wb.worksheets[0] # 0 1 2 3 or any
          現(xiàn)在我們已經(jīng)在 openpyxl 類中加載了我們的 Excel 文件,是時候從中讀取數(shù)據(jù)了。我們在 openpyxl 中有兩種類型的數(shù)據(jù)讀取。
          • 單元格讀數(shù)

          • 列讀

          單元格數(shù)據(jù)讀取:
          讓我們以下面的 Excel 數(shù)據(jù)為例。假設(shè)您有一個包含 3 個標題名稱、年齡和薪水的 excel,格式如下。我們的任務(wù)是讀取第一列的第一個和最后一個單元格。
          Name      age    salaryHaider    21     $56,000 John      24     $36,000 Jim       20     $26,000 Sam       26     $76,000 Willaim   22     $46,000
          #import libraries from openpyxl import load_workbook
          wb = load_workbook("excel.xlsx")sheet = wb.active
          #reading cellprint("First cell: ", sheet['A1'].value)print("Second cell: ", sheet['A6'].value)
          因此,我們使用我們創(chuàng)建的工作表變量/對象并將活動工作表數(shù)據(jù)存儲在其中。
          openpyxl 以列表形式存儲每一列的數(shù)據(jù)。
          好吧,根據(jù) Python 列表語法,我們可以使用方括號 [] 來迭代列表。
          然后我們以String的形式輸入單元格位置。這里我們需要第一個和最后一個單元格。Excel 將它們命名為按字母順序排列的列,并且 openpyxl 也可以在 Alphabet 中輸入。
          A1 表示第一個單元格表示列 A 和行號 1,然后 A6 表示最后一列。列 A 和行號 6。
          輸出:
          First cell:  NameSecond cell:  Willaim
          驚人的!我們還可以使用 range 方法一次讀取多個單元格。查看以下代碼。
          #reading multiple cellcells = sheet['A2':'C2']
          for c1, c2, c3 in cells: print(c1.value, c2.value, c3.value)
          好吧,我們不得不使用 range 方法告訴 openpyxl 我們想要來自 A2 → C2 列和第 2 行的數(shù)據(jù)。
          它將以元組的形式存儲第 3 列的行數(shù)據(jù)并訪問該元組,我們將進行迭代 它使用for循環(huán)。我們在元組中有 3 個元素,因此我們將每個數(shù)據(jù)存儲在不同的變量中,就像我們在 for 循環(huán)中所做的那樣。接下來,使用 value 方法我們可以訪問它們存儲的位置值。
          Sheet.cell()
          我們還有另一種驚人的方式來使用 sheet.cell 方法讀取 Excel 文件的特定單元格。檢查以下代碼以了解此方法的工作原理。
          #import libraries from openpyxl import load_workbook
          wb = load_workbook("excel.xlsx")sheet = wb.active
          #reading specific column cell1 = sheet.cell(row = 1, column = 1).valuecell2 = sheet.cell(row = 1, column = 2).valuecell3 = sheet.cell(row = 1, column = 3).value
          print(cell1, cell2 ,cell3)
          我們可以注意到 sheet.cell() 方法接受 2 個參數(shù)——行和列——最后,我們使用 .value 方法將地址數(shù)據(jù)轉(zhuǎn)換為字符串格式數(shù)據(jù)。
          列數(shù)據(jù)讀取:
          我們可以使用 openpyxl 模塊讀取 Excel 文件中的特定或所有列。
          要讀取特定列,只需使用我們在單元格讀取部分中看到的方法,而不是使用字母表給出行單元格編號,只需鍵入列字母表。
          檢查下面的代碼以獲得更好的理解。
          #import libraries from openpyxl import load_workbook
          wb = load_workbook("excel.xlsx")sheet = wb.active
          #reading specific column cell1 = sheet.cell(row = 1, column = 1).valuecell2 = sheet.cell(row = 1, column = 2).valuecell3 = sheet.cell(row = 1, column = 3).value
          print(cell1, cell2 ,cell3)
          您需要做的另一件事是迭代列的數(shù)據(jù)。正如我們已經(jīng)知道的,openpyxl 給出了特定單元格的位置。
          這意味著我們將數(shù)據(jù)的所有位置存儲在 A 列中,并使用 for 循環(huán),我們可以轉(zhuǎn)到 A 列中的每個單元格并打印它們的數(shù)據(jù)。查看此代碼的輸出。
          輸出:
          NameHaiderJohnJimSamWillaim
          編寫 Excel 文件:
          要編寫 Excel 文件,我們必須遵循相同的 openpyxl 代碼語法,但有一些細微差別。假設(shè)我們有一個空的 Excel 文件,我們想將數(shù)據(jù)寫入其中。我們可以用兩種形式在Excel中寫入數(shù)據(jù):
          • 單元格寫入

          • 行列書寫

          兩者都是相同的,但它們的工作方式不同。我們將通過它們兩個,看看它們是如何實際工作的。
          單元格寫入
          單元格寫入與讀取單元格相同。但是會添加一個小的修改。檢查下面的代碼。
          #import libraries from openpyxl import load_workbook
          wb = load_workbook("excel.xlsx")sheet = wb.active
          #reading specific column columns = sheet["A1"].value="Name"columns = sheet["B1"].value="Age"columns = sheet["C1"].value="Salary"
          wb.save("excel.xlsx")
          我們沒有讀取數(shù)據(jù),而是將 sheet[“A1”] 修改為 sheet[“A”].value=”Name”。所以 openpyxl 有一個類的組合,每個類都有它的對象。
          所以我們調(diào)用對象值并給它字符串。我對 B1 和 C1 細胞做了同樣的處理。最后,我們必須保存我們的工作簿,所以,我使用了保存方法并將其命名為 excel.xlsx,這與開始時的 excel 文件相同。如果您運行代碼,您將獲得以下輸出。

          對了,您可以自己測試一下,了解更多關(guān)于 openpyxl 中單元格編寫的信息。讓我們繼續(xù)行列寫作。
          行列書寫
          行列書寫。通過它的名字,您將了解到底發(fā)生了什么。我們將使用行號和列號編寫單元格,當(dāng)您想在不同列的不同行中寫入大量數(shù)據(jù)時,它會派上用場。我們以上面的例子,嘗試用行列寫法在excel中重新寫一遍。
          #import libraries from openpyxl import load_workbook
          wb = load_workbook("excel.xlsx")sheet = wb.active
          #reading specific column sheet.cell(row=1, column=1).value="Name"sheet.cell(row=1, column=2).value="Age"sheet.cell(row=1, column=3).value="Salary"
          wb.save("excel.xlsx")
          嗯,是的!你是對的。
          我們必須使用另一種讀取方法通過調(diào)用其值對象來寫入 Excel。如果您看到了,我們已經(jīng)通過調(diào)用 value 對象,為其分配一個字符串,并使用 wb.save() 方法保存更改來完成相同的操作。如果我們運行代碼,我們會得到與上面相同的輸出。
          讓我們嘗試一個不同的場景。假設(shè)我們有兩個列表名稱和薪水,并且我們想在 excel 中編寫它。
          我們將使用行列寫法,檢查下面的代碼。
          #import libraries from openpyxl import load_workbook
          wb = load_workbook("excel.xlsx")sheet = wb.worksheets[0]
          name=["John", "Dennis", "Ferb", "Candas", "Tadashi"]salary=["$45000","$78000","$34000","$71000","$98000"]
          sheet.cell(row=1, column=1).value="Name"sheet.cell(row=1, column=2).value="Salary"
          j=2for i in range(0,5): sheet.cell(row=j, column=1).value=name[i] sheet.cell(row=j, column=2).value=salary[i] j+=1
          wb.save("excel.xlsx")
          首先,我們必須編寫 Excel 文件的標題。因此,一開始,我們對標題的行和列進行了硬編碼,接下來,我們迭代名稱和工資中的元素。我們知道每一列的第一行是為標題保留的。所以,我們從第二行開始寫。如果我們運行此代碼,我們將在 Excel 中得到以下輸出。

          總結(jié)
          到目前為止,我們學(xué)習(xí)了如何使用不同的 openpyxl 讀取方法來讀取 Excel 文件,還學(xué)習(xí)了編寫 Excel 文件。您可以了解有關(guān) openpyxl 函數(shù)的更多信息,用于修改 Python 腳本并使您的 Python 腳本更準確,以便編寫和讀取 Excel 文件。或者查看官方文檔。
          最后,感謝您的閱讀,希望您覺得這篇文章對您有幫助。

          學(xué)習(xí)更多技能

          請點擊下方公眾號

          瀏覽 25
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  夜夜精品视频 | 大香蕉中文视频 | 日本一 级 黄 色 片免费 | 日韩无修正| 国产伦精品一区二区三区妓女原神 |