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

相关文章
|
6天前
|
Python
python_读写excel、csv记录
python_读写excel、csv记录
10 0
|
2天前
|
Linux iOS开发 MacOS
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
|
2天前
|
NoSQL Python
在Python中,我们可以使用许多库来处理Excel文件
Python处理Excel常用pandas和openpyxl库。pandas的`read_excel`用于读取文件,`to_excel`写入;示例展示了数据框操作。openpyxl则用于处理复杂情况,如多工作表,`load_workbook`加载文件,`iter_rows`读取数据,`Workbook`创建新文件,写入单元格数据后保存。
10 1
|
3天前
【Python21天学习挑战赛】文件读写操作
【Python21天学习挑战赛】文件读写操作
|
6天前
|
JSON JavaScript 数据格式
python遍历目录文件_结合vue获取所有的html文件并且展示
python遍历目录文件_结合vue获取所有的html文件并且展示
4 0
|
7天前
|
存储 安全 Python
Python从入门到精通:2.2.2异常处理与文件操作:文件的打开、读取、写入和关闭操作。
Python从入门到精通:2.2.2异常处理与文件操作:文件的打开、读取、写入和关闭操作。
|
8天前
|
Python
python html(文件/url/html字符串)转pdf
python html(文件/url/html字符串)转pdf
9 0
|
SQL 数据库 Python
Python读取xlsx并写入数据库
Python读取xlsx并写入数据库
|
2天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
2天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
11 3