如何在Python中将Excel文件转换为CSV
本文将向您展示如何使用Python将Excel文件转换为CSV文件(逗号分隔值)。
假设我们使用名为 sampleTutorialsPoint.xlsx 的Excel文件包含一些随机文本。我们将在将给定的Excel文件转换为CSV文件后返回CSV文件。
sampleTutorialsPoint.xlsx
玩家姓名 | 年龄 | 类型 | 国家 | 队伍 | 得分 | 球数 |
---|---|---|---|---|---|---|
Virat Kohli | 33 | 打者 | 印度 | 皇家挑战者班加罗尔 | 6300 | 20 |
Bhuvaneshwar 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:使用Pandas模块将Excel转换为CSV
算法(步骤)
下面是执行所需任务的算法/步骤 –
-
导入 pandas模块 (Pandas是Python开源数据处理和分析包)
-
创建一个变量以存储输入Excel文件的路径。
-
使用 pandas read_excel() 函数(将 Excel 文件对象读取为数据框架对象)读取给定的 Excel 文件内容。
-
使用 to_csv() 函数(将对象转换为 CSV 文件)通过将输出 Excel 文件名称、索引作为 None 和标题作为 True 作为参数从 Excel 文件转换为 CSV 文件。
-
使用 read_csv() 函数(将 CSV 文件加载为 pandas 数据帧)读取输出 CSV 文件并将其转换为数据框架对象。
-
显示/显示数据帧对象。
示例
下面的程序将 Excel 文件转换为 CSV 文件并返回新的 CSV 文件。
输出
在运行该程序后,将生成以下输出 −
在该程序中,我们使用 pandas 的 read_excel()函数读取包含一些随机虚拟数据的 Excel 文件,然后使用 to_csv()函数将 Excel 文件转换为 csv 文件。 如果我们将索引作为 false 参数传递,则最终 CSV 文件不包含开始的索引行。 然后,我们将 CSV 转换为数据框以查看从 Excel 文件复制到 CSV 文件的值。
方法 2:使用 openpyxl 和 CSV 模块将 Excel 转换为 CSV
算法(步骤)
需要遵循以下算法/步骤来执行所需的任务
- 使用 import 关键字,导入 openpyxl (Openpyxl 是用于与 Excel 文件交互和管理的 Python 包。支持具有 xlsx/xlsm/xltx/xltm扩展名的 Excel 2010 及更高版本文件。数据科学家使用 Openpyxl 进行数据分析、数据复制、数据挖掘、绘制图表、样式表、公式添加和其他操作)和 CSV 模块。
-
创建一个变量以存储输入Excel文件的路径。
-
要创建/载入工作簿对象,将输入的Excel文件传递给openpyxl模块的 load_workbook() 函数(载入工作簿)。
-
以写模式打开输出CSV文件,使用 open() 和 writer() 函数将输入的Excel文件转换为CSV文件。
-
使用for循环遍历工作表的每一行。
-
使用 writerow() 函数,将Excel文件的单元格数据逐行写入结果CSV文件中。
例子
以下程序将Excel文件转换为CSV文件,并返回一个新的CSV文件−
输出
执行以上程序后,将创建一个新的CSV文件(ResultCsvFile.csv),其中包含Excel数据。
在此程序中,我们有一个带有一些随机虚假数据的Excel文件,我们将其作为openpyxl工作簿加载并设置为使用活动属性。然后我们创建了一个新的CSV文件并以写入模式打开它,然后我们依次处理Excel文件的每一行,并将数据复制到新创建的CSV文件中。
结论
在本教程中,我们学习了如何读取Excel文件并将其转换为openpyxl工作簿,然后如何将其转换为CSV文件并删除索引,最后如何将CSV文件转换为pandas数据帧。