如何在Python中将Excel转换为CSV
在本文中,我们将向您展示如何使用Python将Excel文件转换为CSV文件(逗号分隔值)。
假设我们有一个名为sampleTutorialsPoint.xlsx的Excel文件,其中包含一些随机文本。我们将转换该Excel文件并返回一个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 |
方法一:使用Pandas模块将Excel转换为CSV
算法(步骤)
以下是执行所需任务的算法/步骤:
导入pandas模块(Pandas是一个Python开源数据处理和分析包)
创建一个变量来存储输入Excel文件的路径。
使用pandas read_excel() 函数读取给定的Excel文件内容(将Excel文件对象读取到数据框对象中)。
使用to_csv() 函数将Excel文件转换为CSV文件(将对象转换为CSV文件),并将输出Excel文件名、index设置为None,header设置为true作为参数。
使用read_csv() 函数读取输出CSV文件(将CSV文件加载为pandas数据框),并使用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。如果我们将index作为false参数传递,则最终的CSV文件不会在开头包含索引行。然后我们将CSV转换为数据框,以查看Excel文件中的值是否已复制到CSV文件中。
方法二:使用openpyxl和CSV模块将Excel转换为CSV
算法(步骤)
以下是执行所需任务的算法/步骤:
使用import关键字导入openpyxl(Openpyxl 是一个用于与Excel文件交互和管理的Python包。支持Excel 2010及更高版本的文件,扩展名为xlsx/xlsm/xltx/xltm。数据科学家使用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])
输出
执行上述程序将创建一个新的CSV文件(ResultCsvFile.csv),其中包含Excel的数据。
在这个程序中,我们有一个包含一些随机虚拟数据的Excel文件,我们将其加载为openpyxl工作簿并使用active属性进行设置。然后我们创建了一个新的CSV文件并以写入模式打开它,然后我们逐行遍历Excel文件并将数据复制到新创建的CSV文件中。
结论
在本教程中,我们学习了如何读取Excel文件并将其转换为openpyxl工作簿,然后如何将其转换为CSV文件并删除索引,最后如何将CSV文件转换为pandas数据框。
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP