python 读取 .csv/.xlsx/.xls 文件数据—批量修改文件名

简介: python 读取 .csv/.xlsx/.xls 文件数据—批量修改文件名

本文代码主要有两个功能:

       (1)使用 python 读取 .csv/.xlsx/.xls 文件中的数据;

       (2)使用读取到的数据批量修改文件夹下的文件名;


1、文件数据形式


a0db6bff3665434d8f43a747e46232a0.png


2、待修改文件


d634a3ced42c4ed9806663ee44460fd9.png


3、python 代码实现


import os
import shutil
import pandas as pd
def change_xlsx(filename, filePath):
    """
    修改 .xlsx 和 .xls 文件名
    :param filename: 待修改文件路径
    :param root: 文件修改后的保存路径
    """
    # TODO 读取 .xlsx 中的数据
    data = pd.read_excel(filename, sheet_name='Sheet1')  # 读取同一个表格中指定 Sheet1 中的数据,不指定时直接默认读取到这个Excel的第一个表单
    # row = data.values  # 读取所有数据
    # row1 = data.iloc[0].values           # 0表示第一行 这里读取数据并不包含表头,要注意哦!
    # print("读取指定行的数据:\n{0}".format(row1))
    # 遍历该文件夹所有的文件,并for循环
    for name in os.listdir(filePath):
        # 文件名加上文件夹构成绝对路径
        before_file = os.path.join(filePath, name)
        # 获取当前文件名所在行
        index = data.loc[data['oldName'] == name]
        # print("2=", index)
        # 当前文件所对应的新名称
        new_name = index['newName'].values
        if len(new_name):
            # index['code'].values 为当前文件名所对应的新名称
            after_file = os.path.join(filePath, new_name[0] + ".pdf")
            # 利用shutil.move将文件移动到原来位置(重命名的效果)
            shutil.move(before_file, after_file)
        else:
            break
    print(" .xlsx/.xls 文件修改完成!!!")
def change_csv(filename, filePath):
    """
    修改 .csv 文件名
    :param filename: 待修改文件路径
    :param root: 文件修改后的保存路径
    """
    data = pd.read_csv(filename, index_col=False)
    # row = data.values                             # 读取所有数据
    # row1 = data.iloc[0].values                    # 0表示第一行 这里读取数据并不包含表头,要注意哦!
    # print("读取指定行的数据:\n{0}".format(row1))
    # 遍历该文件夹所有的文件,并for循环
    for name in os.listdir(filePath):
        # 文件名加上文件夹构成绝对路径
        before_file = os.path.join(filePath, name)
        # 获取当前文件名所在行
        index = data.loc[data['oldName'] == name]
        # print("2=", index)
        # 当前文件所对应的新名称
        new_name = index['newName'].values
        if len(new_name):
            # index['code'].values 为当前文件名所对应的新名称
            after_file = os.path.join(filePath, new_name[0] + ".pdf")
            # 利用shutil.move将文件移动到原来位置(重命名的效果)
            shutil.move(before_file, after_file)
        else:
            break
    print(" .csv 文件修改完成!!!")
if __name__ == '__main__':
    # 表格数据路径
    filename = 'data_#2.xls'
    # 待修改文件路径
    filePath = "F:/桌面/get/data2"
    if filename.find('.csv') > 0:
        change_csv(filename, filePath)
    else:
        change_xlsx(filename, filePath)


4、修改后的结果


b49b29fc3c3044d1b7c3f4658deb83d5.png

相关文章
|
9天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
8天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
21天前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
35 3
|
1月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
27 1
|
1月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
1月前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
21天前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
60 0
|
21天前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
22天前
|
数据采集 存储 分布式计算
超酷炫Python技术:交通数据的多维度分析
超酷炫Python技术:交通数据的多维度分析
|
1月前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
31 0