python脚本实现xls(xlsx)转成csv

一、需求分析

将Excel文件转换为CSV格式是非常常见的需求。Python脚本实现Excel到CSV的转换可以方便地将Excel文件批量转换为CSV格式。Python中有许多库可以用来实现Excel到CSV格式转换,比如pandas和openpyxl。其中,pandas支持将多个Sheet页合并为一个CSV文件,而openpyxl则可以输出每个Sheet页的CSV文件。

二、pandas库实现Excel到CSV格式转换

使用pandas库实现Excel到CSV的转换需要安装pandas库。安装方法可以使用pip命令行工具安装,如下所示:

pip install pandas

安装完成后,使用pandas库进行Excel到CSV的转换,主要的流程包括以下几个步骤:

  1. 导入pandas库。
  2. 读取Excel文件,使用pandas的read_excel()方法。
  3. 将Excel表转换为CSV格式,使用pandas的to_csv()方法。
  4. 将多个Sheet页转换为一个CSV文件,使用pandas的concat()方法。

以将Excel文件Sheet页合并为一个CSV文件为例:

import pandas as pd

# 读取Excel文件
xls_path = 'test.xls'
df = pd.read_excel(xls_path, sheet_name=None)

# 将Excel表转换为CSV格式
for sheet_name, df_sheet in df.items():
    df_sheet.to_csv('{}.csv'.format(sheet_name))

# 将多个Sheet页转换为一个CSV文件
concat_df = pd.concat(df.values(), axis=0)
concat_df.to_csv('output.csv')

这段代码可以将Excel文件test.xls中的每个Sheet页分别转换为CSV文件,然后将所有Sheet页合并为一个output.csv文件。当只需要将每个Sheet页分别转换为CSV文件时,可以省略最后一条语句。

三、openpyxl库实现Excel到CSV格式转换

与pandas库不同,openpyxl库在Excel到CSV转换时只支持单个Sheet页的转换,每个Sheet页都需要分别转换。安装openpyxl库的方法与pandas库一样,使用pip命令行工具安装即可。

使用openpyxl库实现Excel到CSV的转换,主要的流程包括以下几个步骤:

  1. 导入openpyxl库。
  2. 读取Excel文件,打开Excel工作簿,获取Sheet页对象。
  3. 将Sheet页转换为CSV格式,使用openpyxl的csv模块。

以将Excel文件中的Sheet页单独转换为CSV文件为例:

import openpyxl
import csv

# 打开工作簿
wb_path = 'test.xlsx'
wb = openpyxl.load_workbook(wb_path)

# 获取Sheet页对象
for sheet_name in wb.sheetnames:
    sheet = wb[sheet_name]

    # 将Sheet页转换为CSV格式
    with open('{}.csv'.format(sheet_name), 'w', newline='') as f:
        csv_writer = csv.writer(f)
        for row in sheet.iter_rows(values_only=True):
            csv_writer.writerow(row)

这段代码可以将Excel文件中的每个Sheet页分别转换为单独的CSV文件。

四、示例说明

以解释如何使用pandas库实现Excel到CSV格式转换为例,假设在Windows平台上有一个Excel文件名为test.xls,其中包含两个Sheet页,分别为Sheet1和Sheet2,要将这两个Sheet页分别保存为CSV格式。

  1. 首先,在Windows平台上安装好Python和pandas库。
  2. 创建一个新的.py文件,将上述代码复制到文件中。
  3. 打开Windows命令提示符窗口,将当前路径切换到.py文件所在的目录。
  4. 使用Python命令行工具运行.py文件,如下所示:
python filename.py

其中filename.py是.py文件的文件名。

  1. 运行完成后,当前路径下应该会生成Sheet1.csv和Sheet2.csv两个CSV文件。

可以发现,使用pandas库实现Excel到CSV格式转换非常方便,一次性将多个Sheet页转换为CSV格式也很省事。在数据量比较大或者需要进行数据处理时,pandas库的转换速度也非常快。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python脚本实现xls(xlsx)转成csv - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python中Tkinter组件Menu的具体使用

    接下来我将为你详细讲解Python中Tkinter组件Menu的具体使用。 Tkinter的Menu组件 Tkinter中的Menu组件用于创建菜单栏。它可以嵌套在Tkinter窗口的顶部,并包含多个菜单和菜单项。 创建并显示一个简单的菜单栏 下面的代码演示如何创建一个简单的菜单栏,并向其添加菜单和菜单项: import tkinter as tk root…

    python 2023年6月13日
    00
  • Python3 assert断言实现原理解析

    Python3 assert断言实现原理解析 何为断言 Python3中有一个关键字assert,用来进行断言判断。所谓断言,是指在运行时检查某个条件是否满足。如果满足则程序正常执行,否则抛出异常。 常见的断言格式为: assert boolean_expression 其中boolean_expression是一个返回布尔值的表达式,如果表达式为假,则会抛…

    python 2023年5月13日
    00
  • python中的list 查找与过滤方法整合

    以下是“Python中的List查找与过滤方法整合”的完整攻略。 Python中的List查找与过滤方法整合 在Python中,List是一种常见的数据类型,可以存储多个值。在实际开发中,我们经常需要查找或过滤List中的元素。本文将介绍Python中的List查找与过滤方法,并提供一些示例。 查找元素 可以使用in关键字或index()方法来查找List中…

    python 2023年5月13日
    00
  • 工匠回忆(一)

    不久之前看过《python工匠》,腾讯大佬朱磊写的,后来一段时间零零散散也会翻开看看,强烈推荐!!! 1、变量注释   变量与注释是最接近自然语言的东西,把变量与注释搞好,同样一段代码,却带来两种截然不同的体验   1.1、变量开辟的必要性   1.2、变量注意靠近使用   1.3、注意变量描述性要强、同时注意其长度   1.4、变量的命名要突出类型   1…

    python 2023年5月4日
    00
  • 你可能不知道的Python 技巧小结

    本文将介绍“你可能不知道的Python技巧小结”的完整攻略,包括以下内容: 使用zip()函数同时遍历多个列表 使用enumerate()函数同时遍历列表和索引 使用setdefault()函数避免键不存在的情况 使用collections模块的Counter类统计元素出现次数 使用sorted()函数对字典按值进行排序 使用lambda函数创建匿名函数 使…

    python 2023年5月14日
    00
  • 解决python3 HTMLTestRunner测试报告中文乱码的问题

    在Python3中使用HTMLTestRunner生成测试报告时,中文字符可能会出现乱码。本攻略将提供两种解决方法。 方法一:修改HTMLTestRunner源代码 下载HTMLTestRunner源代码 可以从这里下载HTMLTestRunner源代码。 修改HTMLTestRunner.py文件 在HTMLTestRunner.py文件中,找到以下代码:…

    python 2023年5月15日
    00
  • Python爬虫之Selenium设置元素等待的方法

    Python爬虫之Selenium设置元素等待的方法 一、为什么需要设置元素等待? 在使用Selenium进行Web自动化测试或爬虫时,难免会遇到页面元素未完全加载或响应延迟等情况,如果此时未进行元素等待,将会导致如下问题: 操作某个元素时找不到或报错:由于页面元素未完全加载,此时操作元素,会导致找不到或报错; 数据获取不完整或数据被覆盖:由于页面元素响应延…

    python 2023年5月13日
    00
  • 详解Python 数据库的Connection、Cursor两大对象

    让我们来详细讲解 Python 数据库的 Connection 和 Cursor 两大对象。 Connection 对象 Connection 对象是 Python 数据库操作的核心对象,用于建立与数据库服务的连接并提供进行数据库操作的方法。它代表了一个数据库会话,在一个数据库中只需要一个 Connection 对象,通过这个对象可以对数据库进行 CRUD …

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部