如何在Python中将Excel转换为CSV




如何在Python中将Excel转换为CSV

在本文中,我们将展示如何使用Python将Excel文件转换为CSV文件(逗号分隔值)。

假设我们已经有一个名为 sampleTutorialsPoint.xlsx 的Excel文件,其中包含一些随机文本。我们将在将给定的Excel文件转换为CSV文件后返回一个CSV文件。

sampleTutorialsPoint.xlsx



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

方法1:使用Pandas模块将Excel转换为CSV

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 导入 pandas模块 (Pandas是一个Python开源的数据操作和分析包)。

  • 创建一个变量来存储输入Excel文件的路径。

  • 使用pandas的read_excel()函数(将Excel文件对象读取为数据框对象)读取给定的Excel文件内容。

  • 使用to_csv()函数(将对象转换为CSV文件)将Excel文件转换为CSV文件,传递输出Excel文件名、索引为None和标题为true作为参数。

  • 使用read_csv()函数(将CSV文件加载为pandas数据框)读取输出的CSV文件,并使用pandas模块的DataFrame()函数将其转换为数据框对象。

  • 显示/展示数据框对象。

示例

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

# importing pandas module
import pandas as pd

# input excel file path
inputExcelFile ="sampleTutorialsPoint.xlsx"

# Reading an excel file
excelFile = pd.read_excel (inputExcelFile)

# Converting excel file into CSV file
excelFile.to_csv ("ResultCsvFile.csv", index = None, header=True)

# Reading and Converting the output csv file into a dataframe object
dataframeObject = pd.DataFrame(pd.read_csv("ResultCsvFile.csv"))

# Displaying the dataframe object
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()函数(加载工作簿)。

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

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

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

示例

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

# importing openpyxl module and csv modules
import openpyxl
import csv

# input excel file path
inputExcelFile = 'sampleTutorialsPoint.xlsx'

# creating or loading an excel workbook
newWorkbook = openpyxl.load_workbook(inputExcelFile)

# getting the active workbook sheet(Bydefault-->Sheet1)
firstWorksheet = newWorkbook.active

# Opening a output csv file in write mode
OutputCsvFile = csv.writer(open("ResultCsvFile.csv", 'w'), delimiter=",")

# Traversing in each row of the worshsheet
for eachrow in firstWorksheet.rows:

# Writing data of the excel file into the result csv file row-by-row
OutputCsvFile.writerow([cell.value for cell in eachrow])

输出

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

在这个程序中,我们有一个带有一些随机虚拟数据的Excel文件,我们将其作为一个 openpyxl 的工作表加载并设置为使用active属性。然后,我们创建了一个新的CSV文件并以写入模式打开它,然后我们逐行遍历Excel文件并将数据复制到新创建的CSV文件中。

结论

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



Python 精选笔记
如何在Python中解析本地HTML文件?如何按多列对PySpark DataFrame进行排序?如何在Pygame中移动游戏角色?如何在Python中同时打开两个文件?如何使用Python移动文件夹及其子文件夹的列表?如何使用Python将多个文件夹合并成一个文件夹?如何使用Python将多个Excel文件合并成一个单一文件?如何使用Python Pandas按照共同的键合并多个TSV文件?如何使用PIL将透明的PNG图片与另一张图片合并?Python中嵌套函数是如何工作的?Python中的全局变量和局部变量?在Python函数中如何使用全局变量?如何从Python对象中获取源代码?如何在Python中返回一个函数?如何在Python中安装matplotlib?Python - 分割包含散乱字符的字符串Python - 记录列表XORPython – 向记录的末尾添加数据Python - 键值大于K的记录在Python中垂直打印列表Python - 列表中字符串平均长度Python列表中的交替循环Python程序实现混淆词游戏Python-记录联合Python程序计算列表中元组的重复项Python程序:将字符串的字符转换为相反的大小写Python - 打印给定年份列表中的闰年数量Python - 打印所有子列表中的共同元素Python - 删除嵌套列表中的所有元素如何在Python列表中检查空格?在Python中引发异常到另一个异常Python字符串中的范围复制Python程序计算包含列表的列表中列表的数量修改给定Python列表中的重复值Python - 检查元素是否在指定范围内出现从Python的元组列表中删除所有字符串如何使用Pygame添加颜色呼吸效果?如何在Bokeh中添加颜色条如何在Bokeh中添加颜色选择器?使用Python程序显示带有星边框的数字半菱形图案Python使用ipaddress模块确定给定的IPv4地址是否为保留地址使用ipaddress模块的Python程序来确定给定的IP地址是公网还是私网Python程序通过平方和连接给定数字的奇数位数来创建一个OTPPython程序创建以零为中心的列表Python程序计算字符串中的字符数Python程序将米转换为码,反之亦然Python程序:统计文本文件中的元音、行数和字符数Python程序计算文本文件中的单词数量Python程序,用于计算文本文件中空格的数量将字典的值转换为字符串的Python程序Python程序将浮点数转换为指数Python程序将整数转换为指数Python程序将整数转换为罗马数字将整数列表转换为字符串列表的Python程序Python程序将XML转换为字典Python程序:通过重复键对应的值次数将字典转换为列表将Dict of list转换为CSV的Python程序使用正则表达式统计Python程序中大写字母、小写字母、特殊字符和数字值的个数Python元组的并集Python - 嵌套和混合列表中的类型转换Python - 将列表转换为单值列表的元组如何在Python中打印上标和下标?如何在Python中打印多个参数?如何在Plotly-Python中将图例定位在图表内部?如何使用Pandas绘制时序图表?如何使用SciPy在Python中绘制Ricker曲线?如何在Python列表中删除True值?如何使用Python将字典的值转换为绝对值?如何使用Python将字典转换为K个大小的字典?如何使用Python将浮点数舍入到2位小数?如何在Python中将Excel转换为CSV如何在Python中对元组进行索引和切片?如何在Python中判断一个对象是否有属性?在Python中创建实例对象如何使用Python获取城市的经纬度?如何在Python中获取整数输入?如何交换给定 NumPy 数组的列?如何使用NumPy抑制对小数的科学计数法使用?如何使用Python将XML数据存储到MySQL数据库中?如何在Pandas DataFrame中减去两列?如何在Pandas DataFrame中标准化数据?如何堆叠多个Pandas DataFrames?如何使用scikit-learn的train_test_split()函数拆分数据集如何在Python中分割数据以进行训练和测试,而不使用Sklearn在Python set中找到最大值和最小值Python程序:找到长方体的体积、表面积和空间对角线如何在Python程序中获取字符串的K个可能切片如何使用Altair在Python中制作密度图?生成一次性密码(OTP)的Python程序Python程序:找出数组中可被给定数整除的元素的XOR寻找巨大最大公约数(Jumbo GCD)子数组的Python程序如何在OpenCV Python中查找图像轮廓的边界矩形?如何在Python脚本所在的目录中打开文件?如何在Anaconda中安装Python包?如何在OpenCV Python中旋转图像?如何给定完整路径导入Python模块?如何在Python中从另一个函数调用变量?使用Python的Matplotlib在X轴上绘制日期如何在Python中不使用math模块进行平方根运算?如何在Python Tkinter中给Frame添加边框?如何从Python函数返回一个字典?Python程序获取元组中的第一个和最后一个元素如何求一个Python字典的值的总和?Python Pandas - 查找列的最大值并返回其对应的行值机器人流程自动化 - 简介机器学习中的逻辑回归损失函数如何从Python日期中减去一天?将物联网和机器学习相结合,使我们的未来更智能机器学习中的Boosting | Boosting和AdaBoost如何在Python中将时间戳字符串转换为datetime对象?如何在Python中将变量名转换为字符串?什么是Python中的.pyc文件?Python - 检查列表中的所有元素是否相同如何在Python Plotly中设置Y轴的范围?如何将Python日期转换为Unix时间戳?Python中的Turtle绘图编程如何在Python中的给定位置插入一个对象到列表中?如何在Python中进行日期验证?如何使用Python将两个图并排显示?在Python中的方法和函数之间的区别Python中的PYTHONPATH环境变量是什么?如何对Python日期字符串列表进行排序?在Python的Pandas中向现有的DataFrame中添加新列如何将Python元组转换为字典?Python - 使用Pandas读取没有标题的csv文件?如何使用OpenCV Python在图像中检测矩形和正方形?如何使用OpenCV在Python中改变图像的对比度和亮度?如何在Python中将日期时间转换为UTC时间戳?如何列出Python模块中的所有函数?Python程序查找字符串中的所有重复字符使用Python进行文件搜索如何在Python Tkinter中更改按钮大小?如何在Python shell中了解/更改当前目录?如何在Python中检查一个字符是否为大写字母?如何在OpenCV Python中对图像进行归一化?在Python中更新列表如何在Python中生成不重复的随机数?Python中元素的频率列表在Python中for循环和while循环的区别如何在Python的Plotly中绘制多条线在同一Y轴上?如何从Python列表中删除一个对象?