如何在Python中将Excel文件转换为CSV

如何在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 模块
import pandas as pd

# 输入 Excel 文件路径
inputExcelFile ="sampleTutorialsPoint.xlsx"

# 读取 Excel 文件
excelFile = pd.read_excel (inputExcelFile)

# 将 Excel 文件转换为 CSV 文件
excelFile.to_csv ("ResultCsvFile.csv", index = None, header=True)

# 读取并转换输出的 CSV 文件为 dataframe 对象
dataframeObject = pd.DataFrame(pd.read_csv("ResultCsvFile.csv"))

# 显示 dataframe 对象
dataframeObject

输出

在运行该程序后,将生成以下输出 −

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

在该程序中,我们使用 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 模块。
pip install openpyxl
  • 创建一个变量以存储输入Excel文件的路径。

  • 要创建/载入工作簿对象,将输入的Excel文件传递给openpyxl模块的 load_workbook() 函数(载入工作簿)。

  • 以写模式打开输出CSV文件,使用 open()writer() 函数将输入的Excel文件转换为CSV文件。

  • 使用for循环遍历工作表的每一行。

  • 使用 writerow() 函数,将Excel文件的单元格数据逐行写入结果CSV文件中。

例子

以下程序将Excel文件转换为CSV文件,并返回一个新的CSV文件−

#导入openpyxl模块和csv模块
import openpyxl
import csv

#输入Excel文件路径
inputExcelFile = 'sampleTutorialsPoint.xlsx'

#创建或加载Excel工作簿
newWorkbook = openpyxl.load_workbook(inputExcelFile)

#获取活动工作簿的工作表(默认为Sheet1)
firstWorksheet = newWorkbook.active

#以写模式打开一个输出csv文件
OutputCsvFile = csv.writer(open("ResultCsvFile.csv", 'w'), delimiter=",")

#遍历每一个工作表中的行
for eachrow in firstWorksheet.rows:

#逐行将Excel文件的数据写入结果csv文件中
OutputCsvFile.writerow([cell.value for cell in eachrow])

输出

执行以上程序后,将创建一个新的CSV文件(ResultCsvFile.csv),其中包含Excel数据。

在此程序中,我们有一个带有一些随机虚假数据的Excel文件,我们将其作为openpyxl工作簿加载并设置为使用活动属性。然后我们创建了一个新的CSV文件并以写入模式打开它,然后我们依次处理Excel文件的每一行,并将数据复制到新创建的CSV文件中。

结论

在本教程中,我们学习了如何读取Excel文件并将其转换为openpyxl工作簿,然后如何将其转换为CSV文件并删除索引,最后如何将CSV文件转换为pandas数据帧。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程