如何使用 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 数据帧。