<acronym id="indot"><dfn id="indot"></dfn></acronym>
<span id="indot"></span>

<bdo id="indot"><meter id="indot"></meter></bdo>
<label id="indot"><samp id="indot"></samp></label>
<label id="indot"><xmp id="indot">
  • <span id="indot"><table id="indot"></table></span>
    <center id="indot"><optgroup id="indot"></optgroup></center>
  • <bdo id="indot"><meter id="indot"></meter></bdo>
      當(dāng)前位置:首頁(yè) > 后端 > python > 正文內(nèi)容

      Python 寫入數(shù)據(jù)到 Excel 中

      hxing6411年前 (2024-01-16)python8256

      前言

      在數(shù)據(jù)處理和報(bào)告生成等工作中,Excel 表格是一種常見且廣泛使用的工具。然而,手動(dòng)將大量數(shù)據(jù)輸入到 Excel 表格中既費(fèi)時(shí)又容易出錯(cuò)。為了提高效率并減少錯(cuò)誤,使用 Python 編程語(yǔ)言來(lái)自動(dòng)化數(shù)據(jù)寫入 Excel 表格是一個(gè)明智的選擇。Python 作為一種簡(jiǎn)單易學(xué)且功能強(qiáng)大的編程語(yǔ)言,其豐富的模塊能夠處理各種任務(wù),包括操作 Excel 文件。通過(guò)編寫 Python 代碼,您可以輕松地將數(shù)據(jù)寫入 Excel 表格,無(wú)論是小規(guī)模的數(shù)據(jù)集還是大規(guī)模的數(shù)據(jù)處理,使用 Python 自動(dòng)化數(shù)據(jù)寫入過(guò)程都可以大大提高工作效率,減少人為錯(cuò)誤的發(fā)生。


      本文中將介紹如何使用 Python 寫入數(shù)據(jù)到 Excel 表格,提供更高效和準(zhǔn)確的 Excel 表格數(shù)據(jù)寫入方案,從而簡(jiǎn)化數(shù)據(jù)處理流程并節(jié)省寶貴的時(shí)間和精力。本文主要包含以下幾個(gè)方面:

      • Excel 數(shù)據(jù)寫入相關(guān)介紹

      • 通過(guò) Python 寫入文本或數(shù)值到 Excel 單元格

      • 通過(guò) Python 寫入數(shù)組到 Excel 工作表

      • 通過(guò) Python 寫入 CSV 數(shù)據(jù)到 Excel 工作表

      • 通過(guò) Python 寫入 XML 數(shù)據(jù)到 Excel 工作表

      本文所使用的方法需要用到 Spire.XLS for Python,可從官網(wǎng)下載或通過(guò) PyPI 安裝:

      pip install Spire.XLS

       

      Excel 數(shù)據(jù)寫入相關(guān)介紹

      • 本文所使用的 API 中,使用 Workbook 類來(lái)代表一個(gè) Excel 工作簿。在操作 Excel 工作簿時(shí),可以使用該類下的 LoadFromFile() 方法從文件讀取 Excel 工作簿進(jìn)行操作或直接通過(guò)創(chuàng)建 Workbook 的對(duì)象從而創(chuàng)建工作簿進(jìn)行操作。需要注意的是,新建的 Excel 工作簿默認(rèn)有三個(gè)工作表。

      • 同時(shí),該 API 還提供 Worksheet 類和一系列方法、屬性來(lái)對(duì)工作表及其中的單元格數(shù)據(jù)、格式等內(nèi)容進(jìn)行操作。

      • 表格數(shù)據(jù)的主要來(lái)源有 CSV 文件、文本、數(shù)組、XML 文件等。當(dāng)我們需要制作報(bào)告等方便查看和分析的表格時(shí),通過(guò)程序?qū)⑦@些類型的表格數(shù)據(jù)寫入到 Excel 表格中可以實(shí)現(xiàn)高效精確的表格生成。

      • Worksheet.Range[str] 屬性用于獲取指定單元格或指定單元格范圍。其中,單元格和單元格范圍的表示方法與 Excel 相同,即 “字母 + 數(shù)字” 表示單元格,“字母 + 數(shù)字:字母 + 數(shù)字” 表示單元格范圍,如 “A1” 和 “A1:C3”。

      • Workbook.SaveToFile(str, FileFormat) 方法用于保存 Excel 工作簿到文件,可將 FileFormat 枚舉類型作為參數(shù)設(shè)置保存的文件格式。

       

      通過(guò) Python 寫入文本或數(shù)字?jǐn)?shù)據(jù)到 Excel 單元格

      使用 Workbook 類直接創(chuàng)建 Excel 工作簿或載入工作簿之后,可以使用該類下的方法設(shè)置格式及寫入數(shù)據(jù)。以下是寫入文本或數(shù)值到 Excel 單元格操作示例:

      1. 導(dǎo)入所需模塊。

      2. 創(chuàng)建 Workbook 類的對(duì)象以創(chuàng)建 Excel 工作簿。

      3. 使用 Workbook.Worksheets.Clear() 方法刪除默認(rèn)的工作表,并使用 Workbook.Worksheets.Add() 方法新建一個(gè)工作表。

      4. 通過(guò) Worksheet 類下的屬性設(shè)置單元格格式。

      5. 通過(guò) Worksheet.Range[].Text 屬性添加文本或數(shù)值到指定單元格。

      6. 使用 Workbook.SaveToFile() 方法保存工作簿到文件并關(guān)閉工作簿。

      代碼示例:

      from spire.xls import Workbook
      from spire.xls import Worksheet
      from spire.xls import FileFormat
      
      # 創(chuàng)建Excel工作簿
      workbook = Workbook()
      
      # 刪除工作表并創(chuàng)建新的工作表
      workbook.Worksheets.Clear()
      worksheet = workbook.Worksheets.Add("成員信息")
      
      # 設(shè)置單元格格式
      worksheet.Range["A1:D1"].Style.Font.IsBold = True
      worksheet.Rows[0].RowHeight = 30
      worksheet.Range["A1:D1"].Style.Font.Size = 12
      worksheet.Range["A2:D4"].Style.Font.Size = 11
      
      # 寫入表頭數(shù)據(jù)
      worksheet.Range["A1"].Text = "序號(hào)"
      worksheet.Range["B1"].Text = "姓名"
      worksheet.Range["C1"].Text = "年齡"
      worksheet.Range["D1"].Text = "職業(yè)"
      
      # 寫入其他數(shù)據(jù)
      worksheet.Range["A2"].Text = "1"
      worksheet.Range["A3"].Text = "2"
      worksheet.Range["A4"].Text = "3"
      worksheet.Range["B2"].Text = "約翰"
      worksheet.Range["B3"].Text = "喬伊"
      worksheet.Range["B4"].Text = "邁克"
      worksheet.Range["C2"].Text = "35"
      worksheet.Range["C3"].Text = "28"
      worksheet.Range["C4"].Text = "42"
      worksheet.Range["D2"].Text = "工程師"
      worksheet.Range["D3"].Text = "律師"
      worksheet.Range["D4"].Text = "醫(yī)生"
      
      # 保存工作簿
      workbook.SaveToFile("output/寫入數(shù)據(jù)到單元格.xlsx", FileFormat.Version2016)
      workbook.Dispose()


      復(fù)制代碼

      輸出的 Excel 工作簿:

      706090-20240115100311135-267705693.png



      通過(guò) Python 寫入數(shù)組到 Excel 工作表

      使用 Worksheet.InsertArray(arrObject: List[], firstRow: int, firstColumn: int, isVertical: bool) 方法可以插入數(shù)組到 Excel 工作表中,同時(shí)可設(shè)置插入的位置及方式。以下是操作步驟介紹:

      1. 導(dǎo)入所需模塊。

      2. 創(chuàng)建 Workbook 對(duì)象以創(chuàng)建 Excel 工作簿。

      3. 使用 Workbook.Worksheets.Clear() 方法清除默認(rèn)的工作表,并使用 Workbook.Worksheets.Add() 方法新建一個(gè)名為 "銷售數(shù)據(jù)" 的工作表。

      4. 使用 Worksheet 類下的屬性設(shè)置單元格格式。

      5. 創(chuàng)建一個(gè)二維數(shù)組 tableArray,其中包含要插入到工作表的數(shù)據(jù)。

      6. 遍歷二位數(shù)組的每一個(gè)列表,使用 Worksheet.InsertArray() 方法將列表中的數(shù)據(jù)插入到工作表的指定單元格中。

      7. 使用 Workbook.SaveToFile() 方法將工作簿保存到指定的文件中并關(guān)閉工作簿。

      代碼示例:

      from spire.xls import Workbook
      from spire.xls import FileFormat
      
      # 創(chuàng)建Excel工作簿
      workbook = Workbook()
      
      # 清除默認(rèn)工作表并新建工作表
      workbook.Worksheets.Clear()
      worksheet = workbook.Worksheets.Add("銷售數(shù)據(jù)")
      
      # 設(shè)置單元格格式
      worksheet.Range["A1:D1"].Style.Font.IsBold = True
      worksheet.Rows[0].RowHeight = 30
      worksheet.Range["A1:D1"].Style.Font.Size = 12
      worksheet.Range["A2:D4"].Style.Font.Size = 11
      
      # 數(shù)組
      tableArray = [
          ["日期", "產(chǎn)品", "銷售額"],
          ["20220101", "產(chǎn)品A", "1000"],
          ["20220101", "產(chǎn)品B", "1500"],
          ["20220102", "產(chǎn)品A", "1200"],
          ["20220102", "產(chǎn)品B", "1800"],
          ["20220103", "產(chǎn)品A", "900"],
          ["20220103", "產(chǎn)品B", "1600"]
      ]
      
      # 將數(shù)據(jù)逐行插入工作表
      i = 1
      for array in tableArray:
          worksheet.InsertArray(array, i, 1, False)
          
      # 保存工作簿
      workbook.SaveToFile("output/寫入數(shù)組到工作表.xlsx", FileFormat.Version2016)
      workbook.Dispose()


      復(fù)制代碼

      輸出的 Excel 工作簿:

      706090-20240115100345654-882794984.png


      通過(guò) Python 寫入 CSV 數(shù)據(jù)到 Excel 工作表

      在將 CSV 數(shù)據(jù)寫入 Excel 表格時(shí),我們可以直接使用 Workbook.LoadFromFile () 方法載入 CSV 文件并保存為 XLSX 格式,從而將 CSV 文件直接轉(zhuǎn)換為 Excel 工作簿。再載入 CSV 文件時(shí),可通過(guò)分隔符作為參數(shù)來(lái)載入不同分隔符的 CSV 表格。以下是操作示例:

      1. 導(dǎo)入所需模塊。

      2. 創(chuàng)建 Workbook 類的對(duì)象。

      3. 使用 Workbook.LoadFromFile() 方法載入 CSV 文件。

      4. 使用 Workbook.SaveToFile() 方法將 CSV 文件保存為 Excel 工作簿。

      代碼示例:

      from spire.xls import Workbook
      from spire.xls import FileFormat
      # 創(chuàng)建Workbook類的對(duì)象
      workbook = Workbook()
      # 載入CSV文件
      workbook.LoadFromFile("銷量統(tǒng)計(jì).csv", ",")
      # 保存為Excel工作簿
      workbook.SaveToFile("output/寫入CSV數(shù)據(jù)到工作表.xlsx", FileFormat.Version2016)
      workbook.Dispose()


      保存結(jié)果: 

      706090-20240115100414594-524136915.png


      通過(guò) Python 寫入 XML 數(shù)據(jù)到 Excel 工作表

      寫入 XML 數(shù)據(jù)到 Excel 工作表需要讀取 XML 數(shù)據(jù),然后先將表頭寫入工作表,然后再寫入對(duì)應(yīng)數(shù)據(jù)到單元格中。需要根據(jù) XML 表格數(shù)據(jù)的結(jié)構(gòu)調(diào)整代碼進(jìn)行寫入。 下面是操作步驟介紹:

      1. 導(dǎo)入模塊。

      2. 創(chuàng)建一個(gè) Workbook 類的對(duì)象。

      3. 清除默認(rèn)工作表并使用 Workbook.Worksheets.Add(str Name) 方法添加一個(gè)工作表。

      4. 設(shè)置工作表的單元格格式。

      5. 加載 XML 數(shù)據(jù),使用 xml.etree.ElementTree 模塊的 parse 方法解析 XML 文件,獲取根元素和子元素。

      6. 獲取第一個(gè) student 節(jié)點(diǎn)來(lái)確定列數(shù)和表頭。

      7. 寫入表頭,通過(guò)迭代表頭節(jié)點(diǎn)并將其作為列標(biāo)題寫入工作表。

      8. 寫入數(shù)據(jù),通過(guò)迭代每個(gè)學(xué)生節(jié)點(diǎn)和對(duì)應(yīng)的數(shù)據(jù)節(jié)點(diǎn),使用 Worksheet.SetValue(int rowIndex, int columnIndex, str Valuw) 將數(shù)據(jù)值寫入工作表。

      9. 使用 SaveToFile 方法將工作簿保存為指定路徑的 Excel 文件并釋放資源。

      代碼示例:

      from spire.xls import *
      from spire.common import *
      import xml.etree.ElementTree as ET
      
      # 創(chuàng)建一個(gè)Workbook類的對(duì)象
      workbook = Workbook()
      
      # 清除默認(rèn)工作表并添加一個(gè)工作表
      workbook.Worksheets.Clear()
      worksheet = workbook.Worksheets.Add("學(xué)生信息")
      
      # 設(shè)置單元格格式
      for i in range(len(worksheet.Columns)):
          col = worksheet.Columns.get_Item(i)
          col.ColumnWidth = 10
          
      # 加載 XML 數(shù)據(jù)
      xml_tree = ET.parse("學(xué)生信息.xml")
      xml_root = xml_tree.getroot()
      
      # 獲取第一個(gè)order節(jié)點(diǎn)來(lái)確定列數(shù)和表頭
      first_student = xml_root.find("student")
      header = list(first_student.iter())[1:]  # 跳過(guò)第一個(gè)節(jié)點(diǎn)
      
      # 寫入表頭
      for col_index, header_node in enumerate(header, start=1):
          header_text = header_node.tag
          worksheet.SetValue(1, col_index, header_text)
          
      # 寫入數(shù)據(jù)
      row_index = 2
      for student in xml_root.iter("student"):
          for col_index, data_node in enumerate(list(student.iter())[1:], start=1):  # 跳過(guò)第一個(gè)節(jié)點(diǎn)
              value = data_node.text
              header_text = list(header[col_index - 1].iter())[0].tag
              worksheet.SetValue(row_index, col_index, value)
          row_index += 1
          
      # 保存工作簿為新的 Excel 文件
      workbook.SaveToFile("output/寫入XML到工作表.xlsx")
      workbook.Dispose()


      部分 XML 數(shù)據(jù):

      <?xml version="1.0" encoding="UTF-8"?>
      <students>
        <student>
            <id>1</id>
            <name>John Doe</name>
            <major>Data Science</major>
            <gpa>3.8</gpa>
            <age>20</age>
            <gender>Male</gender>
            <contact>
                <email>john.doe@example.com</email>
                <phone>123-456-7890</phone>
            </contact>
        </student>
      </students>


      輸出的 Excel 工作簿:

      706090-20240115100513789-702243273.png


      總結(jié):本文介紹了如何使用 Python 將各種數(shù)據(jù)保存為 Excel 表格,包括文本、數(shù)組、XML、CSV 等。通過(guò) Python 代碼,我們可以輕松地保存各種數(shù)據(jù)到 Excel 工作表中,實(shí)現(xiàn)批量操作,快速生成視覺(jué)友好地電子表格。Spire.XLS for Python 還支持許多其他功能,可前往 Spire.XLS for Python 教程查看。


      掃描二維碼推送至手機(jī)訪問(wèn)。

      版權(quán)聲明:本文由星星博客發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。

      本文鏈接:http://www.7811333.com/?id=515

      “Python 寫入數(shù)據(jù)到 Excel 中” 的相關(guān)文章

      Python 利用pandas和matplotlib繪制餅圖

      在數(shù)據(jù)可視化領(lǐng)域,餅圖是一種非常常見的圖表類型。它通常用來(lái)顯示各個(gè)部分對(duì)于一個(gè)整體的占比情況,例如市場(chǎng)份額、銷售額等。本文將介紹如何使用Python中的pandas和matplotlib模塊來(lái)繪制餅圖。環(huán)境準(zhǔn)備在開始之前,我們需要安裝好Python的pandas和matplotlib模塊。如果你使用...

      搭建Python開發(fā)環(huán)境

      在本篇文章中,我們將探討如何搭建一個(gè)完善的Python開發(fā)環(huán)境。無(wú)論是初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)者,良好的開發(fā)環(huán)境都是高效編碼和項(xiàng)目管理的關(guān)鍵。我們將從安裝Python解釋器開始,逐步探討各種工具和技巧,讓你輕松構(gòu)建一個(gè)強(qiáng)大的Python開發(fā)環(huán)境。安裝Python解釋器首先,我們需要安裝Python解釋...

      Python多任務(wù)編程:進(jìn)程、線程、協(xié)程的區(qū)別及應(yīng)用場(chǎng)景

      多任務(wù)編程是現(xiàn)代計(jì)算機(jī)應(yīng)用開發(fā)的基礎(chǔ)。Python語(yǔ)言提供了多種實(shí)現(xiàn)多任務(wù)編程的方式,如進(jìn)程、線程、協(xié)程等。本文將介紹Python中進(jìn)程、線程、協(xié)程的概念、區(qū)別及應(yīng)用場(chǎng)景,并通過(guò)代碼示例幫助讀者更好地理解。 一、進(jìn)程...

      Python之字符串操作

      Python是一種極其強(qiáng)大的編程語(yǔ)言,它的易讀性和簡(jiǎn)潔性使得它在數(shù)據(jù)科學(xué)、人工智能等領(lǐng)域廣受歡迎。在Python的眾多特性中,字符串處理是一項(xiàng)基礎(chǔ)且重要的技能。本文將深入探討Python中的字符串基礎(chǔ)知識(shí)。 在Python中,字符串是由單獨(dú)的字符組成...

      Python—requests模塊詳解

      1、模塊說(shuō)明 requests是使用Apache2 licensed 許可證的HTTP庫(kù)。 用python編寫。 比urllib2模塊更簡(jiǎn)潔。 Reques...

      Python中Parser的用法

      一、介紹argparse 模塊可以讓人輕松編寫用戶友好的命令行接口。程序定義它需要的參數(shù),然后 argparse 將弄清如何從 sys.argv 解析出那些參數(shù)。 argparse 模塊還會(huì)自動(dòng)生成幫助和使用手冊(cè),并在用戶給程序傳入無(wú)效參數(shù)時(shí)報(bào)出錯(cuò)誤信息。二、示例 import ar...

      發(fā)表評(píng)論

      訪客

      ◎歡迎參與討論,請(qǐng)?jiān)谶@里發(fā)表您的看法和觀點(diǎn)。
      主站蜘蛛池模板: 亚洲综合视频在线| 久久婷婷丁香五月综合五| 久久综合精品国产二区无码| 久久婷婷丁香五月综合五| 国产成人综合网在线观看| 成人综合国产乱在线| 狠狠色综合色综合网络| 国产香蕉久久精品综合网| 亚洲五月综合缴情在线观看| 天天久久影视色香综合网| 激情综合色综合啪啪开心| 色综合久久中文综合网| 狠狠色丁香婷婷综合尤物| 99v久久综合狠狠综合久久| 狠狠亚洲婷婷综合色香五月排名 | 国产综合一区二区在线观看| 插插插色欲综合网| 婷婷五月六月激情综合色中文字幕 | 丁香婷婷激情综合俺也去| 色欲天天天综合网| 亚洲色欲久久久综合网| 久久亚洲高清综合| 精品无码综合一区| 丁香伊人五月综合激激激| 青草久久精品亚洲综合专区| 99久久综合给久久精品| 色欲香天天天综合网站| 久久婷婷五月综合97色一本一本| 亚洲综合伊人久久综合| 狠狠色综合久色aⅴ网站| 狠狠色丁香婷婷久久综合不卡| 亚洲综合色在线观看亚洲| 狠狠色狠狠色综合日日不卡| 少妇熟女久久综合网色欲| 天天爽天天狠久久久综合麻豆 | 国产91色综合久久免费| 色婷五月综激情亚洲综合| 精品国产第一国产综合精品| AV狠狠色丁香婷婷综合久久| 色噜噜狠狠狠狠色综合久| 综合激情区视频一区视频二区|