如何使用 Pandas 在 Python 中將 CSV 轉換為 Excel?
在本文中,我們將向您展示如何使用 Python 中的 pandas 模組將 CSV 檔案(逗號分隔值)轉換為 Excel 檔案。
假設我們已經獲取了一個名為 ExampleCsvFile.csv 的 Excel 檔案,其中包含一些隨機文字。我們將轉換給定的 Excel 檔案為 CSV 檔案後返回一個 CSV 檔案。
ExampleCsvFile.csv
球員姓名 | 年齡 | 型別 | 國家 | 隊伍 | 得分 | 擊球次數 |
---|---|---|---|---|---|---|
Virat Kohli | 33 | 擊球手 | 印度 | 皇家挑戰者班加羅爾 | 6300 | 20 |
Bhuvneshwar Kumar | 34 | 擊球手 | 印度 | 太陽昇起海德拉巴 | 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 資料幀。