python 实现批量xls文件转csv文件的方法

下面是详细的讲解“Python 实现批量 xls 文件转 csv 文件的方法”的攻略:

1. 准备工作

在开始代码实现前,需要确保你已经安装了 pandas 和 xlrd 这两个库。

你可以通过以下的命令行安装它们:

pip install pandas
pip install xlrd

2. 代码实现

  1. 导入需要的库

我们首先需要导入需要用到的库:

import pandas as pd
import os

其中,pandas 是用来进行数据处理的库,os 库是用来进行文件目录操作的常用库。

  1. 定义文件路径

我们需要指定待转换文件所在的文件夹路径和转换后的 CSV 文件所在的文件夹路径。

# 待转换 xls 文件所在的文件夹路径
xls_folder = r"C:\Users\Administrator\Desktop\converter\xls"

# 转换后 CSV 文件所在的文件夹路径
csv_folder = r"C:\Users\Administrator\Desktop\converter\csv"

注意,这里的路径需要换成你自己电脑上实际的文件夹路径,否则程序无法找到对应的文件。

  1. 定义转换函数

接下来,我们需要定义一个函数,用于将 xls 文件转换成 csv 文件:

def xls_to_csv(xls_folder, csv_folder):
    for file in os.listdir(xls_folder):
        if file.endswith('.xls'):
            file_path = os.path.join(xls_folder, file)
            sheet = pd.read_excel(file_path)
            csv_file = os.path.join(csv_folder, file[:-4] + '.csv')
            sheet.to_csv(csv_file, index=None, header=True)
            print(f'{file} 转换完成!')

函数的功能是:读取文件夹中所有的 xls 文件,将它们转换成 csv 文件,并保存到指定的文件夹中。其中:

  • os.listdir(xls_folder) 用于获取指定文件夹下所有文件;
  • if file.endswith('.xls'): 筛选出后缀为 .xls 的文件;
  • pd.read_excel(file_path) 用于读取 xls 文件;
  • sheet.to_csv(csv_file, index=None, header=True) 用于将 DataFrame 转换成 csv 文件;
  • file[:-4] + '.csv' 是将文件名的后缀从 .xls 改成 .csv。

  • 执行转换函数

最后,我们只需要调用上述定义的函数即可完成所有 xls 文件的批量转换:

xls_to_csv(xls_folder, csv_folder)

3. 示例说明

下面我们来看两个简单的示例:

示例1

假设我们的待转换的 xls 文件有两个,分别为:“test1.xls” 和 “test2.xls”。

这两个文件分别包含以下的数据:

test1.xls:

序号 姓名 性别 年龄
1 张三 20
2 李四 18
3 王五 26
4 赵六 22

test2.xls:

订单号 商品 价格
201906 苹果 3.5
201907 香蕉 2.8
201908 西瓜 10.0
201909 芒果 6.0

我们将这两个文件放在同一个文件夹(例如:converter/xls)中,然后执行上面的代码,将得到两个转换后的 csv 文件:“test1.csv” 和 “test2.csv”。

这两个文件分别包含以下的数据:

test1.csv:

序号 姓名 性别 年龄
1 张三 20
2 李四 18
3 王五 26
4 赵六 22

test2.csv:

订单号 商品 价格
201906 苹果 3.5
201907 香蕉 2.8
201908 西瓜 10.0
201909 芒果 6.0

示例2

假设我们的待转换的 xls 文件夹里面只有一个文件:“test.xls”,其中包含以下的数据:

姓名 性别 年龄
张三 20
李四 18
王五 26
赵六 22

我们将这个文件放在 converter/xls 文件夹中,然后执行上面的代码,将得到一个转换后的 csv 文件:“test.csv”。

这个文件包含以下的数据:

姓名 性别 年龄
张三 20
李四 18
王五 26
赵六 22

至此,“Python 实现批量 xls 文件转 csv 文件的方法”攻略讲解完毕。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 实现批量xls文件转csv文件的方法 - Python技术站

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

相关文章

  • 浅谈Python的list中的选取范围

    在Python中,List是一种常用的数据类型,它可以用来存储多个元素。本文将深入讲解Python的list中的选取范围,并提供两个示例说明。 取范围 可以使用切片(slice)来选取List中的一部分元素。切片的语法为: my_list[start:end:step] 其中,start表示起始位置,end表示结束位置(不包含该位置的元素),step表示步长…

    python 2023年5月13日
    00
  • Python更换pip源方法过程解析

    下面我会详细讲解一下“Python更换pip源方法过程解析”的完整攻略。 1. 什么是pip源? pip是Python包管理器,可以方便地下载、安装和管理Python包。而pip源则是指pip下载包时所依赖的在线软件仓库。 pip默认使用的是PyPI(Python Package Index)提供的源,但由于各种原因,我们可能需要替换为其他pip源。目前国内…

    python 2023年5月14日
    00
  • python set()去重的底层原理及实例

    Python Set()去重的底层原理及实例 1. 底层原理 在Python中,Set是一种无序、可迭代的数据类型,可以用来去重和集合运算。 Set底层采用Hash表实现,利用Hash算法将数据映射到一个固定大小的表中,当两个不同的数据被映射到了同一个位置时,就会出现Hash冲突,而解决冲突的方法是采用链表将不同的数据挂接在同一个位置上。 在Python中,…

    python 2023年5月14日
    00
  • 详解Python中Pyyaml模块的使用

    以下是详解Python中PyYAML模块的使用的完整攻略。 什么是PyYAML PyYAML是一个Python中的YAML解析器,它可以将YAML格式的数据转换成Python对象,也可以将Python对象转换成YAML格式的数据。PyYAML可以在Python 2.4+和Python 3.1+上使用。 PyYAML的安装 PyYAML可以通过pip安装,使用…

    python 2023年6月2日
    00
  • python命令行工具Click快速掌握

    Python命令行工具Click快速掌握 简介 Click是Python编写命令行工具的强大库。它提供了简单易用的API,帮助你快速编写出自己的命令行工具。本文将介绍Click的基本用法、命令行参数的处理以及自定义帮助信息等方面的内容。 安装 你可以使用pip来安装Click库: pip install click 基本使用 使用Click创建命令行工具分为…

    python 2023年6月3日
    00
  • Pandas实现批量拆分与合并Excel的示例代码

    下面是详细讲解“Pandas实现批量拆分与合并Excel的示例代码”的完整实例教程。 一、需求背景 首先,我们需要明确这个示例的需求背景,即: 我们有一个Excel文件,里面有多个工作表; 我们需要将每个工作表独立拆分成一个新的Excel文件,并命名为原工作表的名称; 然后,我们又需要将这些新生成的Excel文件,批量合并成一个新的Excel文件。 二、实现…

    python 2023年5月13日
    00
  • Python机器学习入门(六)之Python优化模型

    下面是详细讲解“Python机器学习入门(六)之Python优化模型”的完整攻略。 1. 什么是模型优化 在机器学习中,模型优化是指通过调整模型的参数和超参数,使得模型在训练集和测试集上的表现更好。模型优化可以提高模型的准确性、泛化能力和效率。 2. 模型优化方法 以下是一些常用的模型优化方法。 2.1 网格搜索 网格搜索是一种通过遍历给定的参数组合来优化模…

    python 2023年5月14日
    00
  • Python3时间转换之时间戳转换为指定格式的日期方法详解

    Python3时间转换之时间戳转换为指定格式的日期方法详解 什么是时间戳? 在计算机中,时间戳指的是从某个固定的时间点开始到现在的某个时间的总秒数。在Python中,我们可以使用time模块来获取当前时间的时间戳,如下所示: import time timestamp = time.time() print(timestamp) 输出结果为: 1627943…

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