如何使用 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+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告