如何使用 Pandas 在 Python 中將 CSV 轉換為 Excel?


在本文中,我們將向您展示如何使用 Python 中的 pandas 模組將 CSV 檔案(逗號分隔值)轉換為 Excel 檔案。

假設我們已經獲取了一個名為 ExampleCsvFile.csv 的 Excel 檔案,其中包含一些隨機文字。我們將轉換給定的 Excel 檔案為 CSV 檔案後返回一個 CSV 檔案。

ExampleCsvFile.csv

球員姓名 年齡 型別 國家 隊伍 得分 擊球次數
Virat Kohli 33 擊球手 印度 皇家挑戰者班加羅爾 6300 20
Bhuvneshwar Kumar34 擊球手 印度 太陽昇起海德拉巴 333 140
Mahendra Singh Dhoni 39 擊球手 印度 欽奈超級國王 4500 0
Rashid Khan 28 投球手 阿富汗 古吉拉特巨人 500 130
Hardik Pandya 29 全能型球員 印度 古吉拉特巨人 2400 85
David Warner 34 擊球手 澳大利亞 德里首都 5500 12
Kieron Pollard 35 全能型球員 西印度群島 孟買印第安人 3000 67
Rohit Sharma 33 擊球手 印度 孟買印第安人 5456 20
Kane Williamson 33 擊球手 紐西蘭 太陽昇起海德拉巴 3222 5
Kagiso Rabada 29 投球手 南非 勒克瑙首都 335 111

方法 1:在不顯示索引值的情況下將 CSV 轉換為 Excel

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 匯入 pandas 模組(Pandas 是一個 Python 開源資料處理和分析包。此模組可以讀取、過濾和重新排列 Excel、JSON 和 CSV 格式的小型和大資料集。)

  • 建立一個變數來儲存 CSV 檔案的路徑,方法是使用 pandas 的 read_csv() 函式讀取檔案(將 CSV 檔案載入為 pandas 資料幀)。

  • 使用 pandas 的 ExcelWriter() 類建立一個輸出 Excel 檔案(要將 DataFrame 儲存到 Excel 表格中,請使用 pandas ExcelWriter() 類。此類通常用於儲存多個表格並將資料追加到現有的 Excel 表格中。

    Pandas ExcelWriter 亮點 如果安裝了 xlsxwriter,則預設使用它;否則,使用 openpyxl)。

  • 使用 to_excel() 函式將 CSV 檔案轉換為 Excel 檔案(要將 DataFrame 匯出到 Excel 檔案,請使用 to_excel() 函式。寫入單個物件到 Excel 檔案時必須指定目標檔名)而不顯示索引值,方法是將索引作為 False 傳遞為引數。此處 index=False 表示不顯示索引值。

  • 使用 save() 函式(儲存檔案)儲存結果/輸出 Excel 檔案。

示例

以下程式將 CSV 檔案轉換為 Excel 檔案,而不顯示索引值:

# importing pandas module import pandas as pd # reading the csv file cvsDataframe = pd.read_csv('ExampleCsvFile.csv') # creating an output excel file resultExcelFile = pd.ExcelWriter('ResultExcelFile.xlsx') # converting the csv file to an excel file cvsDataframe.to_excel(resultExcelFile, index=False) # saving the excel file resultExcelFile.save()

輸出

執行上述程式後,將建立一個新的 Excel 檔案 (resultExcelFile.csv),其中包含 CSV 檔案中的資料。

在此程式中,我們使用 pandas read_csv() 函式將包含一些隨機虛擬資料的 CSV 檔案讀取為資料幀,然後我們建立了一個新的 Excel 檔案,並使用 to excel() 函式將上述 CSV 資料幀轉換為 Excel。如果我們將索引作為 false 引數傳遞,則輸出 Excel 檔案將刪除開頭的索引行。如果未給出索引引數,則它會在 Excel 表格的開頭新增一個索引行,然後我們使用 save() 函式儲存生成的 Excel 檔案以應用更改。

方法 2:顯示索引值將 CSV 轉換為 Excel

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 將 CSV 載入為 pandas 資料幀。

  • 透過將索引作為 True 傳遞為 excel() 函式的引數並將索引值顯示出來,將 CSV 檔案轉換為 Excel 檔案。index=True 表示此處顯示索引值。

  • 使用 save() 函式(儲存檔案)儲存結果/輸出 Excel 檔案。

  • 使用 read_excel() 函式讀取輸出 Excel 檔案(將 Excel 檔案載入為 pandas 資料幀),並使用 pandas 模組的 DataFrame() 函式將其轉換為資料幀物件。

  • 顯示/顯示資料幀物件。

示例

以下程式將 CSV 檔案轉換為 Excel 檔案,並顯示索引值:

# importing pandas module import pandas as pd # reading the csv file cvsDataframe = pd.read_csv('ExampleCsvFile.csv') # creating an output excel file resultExcelFile = pd.ExcelWriter('ResultExcelFile.xlsx') # converting the csv file to an excel file cvsDataframe.to_excel(resultExcelFile, index=True) # saving the excel file resultExcelFile.save() # Reading and Converting the output/result excel file into a dataframe object excelDataframe=pd.read_excel('ResultExcelFile.xlsx') # Displaying the dataframe object print(excelDataframe)

輸出

   Unnamed: 0   Player Name              Age       Type        Country \
0   0            Virat Kohli             33       Batsman       India
1   1            Bhuvneshwar Kumar      34       Batsman       India
2   2            Mahendra Singh Dhoni    39       Batsman       India
3   3            Rashid Khan             28       Bowler        Afghanistan
4   4            Hardik Pandya           29       All rounder   India
5   5            David Warner            34       Batsman       Australia
6   6            Kieron Pollard          35       All rounder   West Indies
7   7            Rohit Sharma            33       Batsman        India
8   8            Kane Williamson         33       Batsman       New Zealand
9   9            Kagiso Rabada           29       Bowler        South Africa
        Team                         Runs               Wickets
0      Royal Challengers Bengaluru   6300                 20
1      Sun Risers Hyderabad          333                  140
2      Chennai Super Kings           4500                  0
3      Gujarat Titans                500                  130
4      Gujarat Titans                2400                 85
5      Delhi Capitals                5500                 12
6      Mumbai Indians                3000                 67
7      Mumbai Indians                5456                 20
8      Sun Risers Hyderabad          3222                  5
9      Lucknow Capitals              335                  111

我們在此處將索引作為 true 傳遞為引數,結果 Excel 檔案在開頭添加了索引行,然後我們使用 save() 函式儲存生成的 Excel 檔案以應用更改。然後我們將 Excel 檔案轉換為資料幀以檢視 CSV 檔案中的值是否已複製到 Excel 檔案中。

結論

在本教程中,我們學習瞭如何讀取 CSV 檔案,然後如何將其轉換為 Excel 檔案並刪除索引或在 Excel 檔案的開頭新增索引,最後如何將 Excel 檔案轉換為 pandas 資料幀。

更新於: 2022-08-18

18K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告