Python 将文件路径使用函数进行处理的实例

使用函数来处理文件路径,这样可以使代码更加灵活和易于维护。以下是将文件路径使用函数进行处理的实例:

import os
import pandas as pd


def get_file_path(file_name):      #定义一个 get_file_path函数接收一个文件名作为参数
    base_dir = 'D:\\EXCEL500\\'    #定义一个基础目录 ,方便后期维护
    return os.path.join(base_dir, file_name)   #使用 os.path.join()函数将基础目录和文件名组合成完整的文件路径并返回   此处要用return 返回文件路径,而不是直接赋值给 file_path 变量


def main():
    try:
        # 获取文件路径
        file_path = get_file_path('BBBB.XLSX')       #获取要读取的文件的完整路径
        num = pd.read_excel(file_path)                #使用 pandas 的 read_excel 函数读取 Excel 文件
        print(num)
    except FileNotFoundError:                  #如果文件找不到 
        print("文件未找到,请检查文件路径")
    except Exception as e:                     #捕获异常并将异常对象存储在变量 e 中
        print(f"读取文件时发生错误: {e}")

    data = {'年龄': [35, 25, 40]}
    new = pd.DataFrame(data)

    new_file = pd.concat([num, new], ignore_index=True)  #易错点,这里用num  不能用file_path

    try:
        # 获取新文件的保存路径
        new_file_path = get_file_path('new_BBBB.xlsx')
        new_file.to_excel(new_file_path, index=False)
    except Exception as e:
        print(f"保存文件时发生错误: {e}")


if __name__ == "__main__":
    main()

代码解释

  • def get_file_path(file_name) 函数:
    • 该函数接收一个文件名作为参数。
    • base_dir = 'D:\\EXCEL500\\':定义一个基础目录。
    • return os.path.join(base_dir, file_name):使用 os.path.join() 函数将基础目录和文件名组合成完整的文件路径并返回。
  • def main() 函数:
    • 首先调用 get_file_path('BBBB.XLSX') 获取要读取的文件的完整路径。
    • num = pd.read_excel(file_path):使用 pandasread_excel 函数读取 Excel 文件。
    • 异常处理部分和之前类似,处理文件读取时可能出现的错误。
    • data = {'年龄': [35, 25, 40]}new = pd.DataFrame(data):创建并转换数据框。
    • new_file = pd.concat([num, new], ignore_index=True):拼接数据框。
    • 调用 get_file_path('new_BBBB.xlsx') 获取新文件的保存路径。
    • new_file.to_excel(new_file_path, index=False):将拼接后的数据框保存为 Excel 文件,同时使用异常处理来处理文件保存时的错误。
    • if name == ‘main‘: 这部分代码是 Python 的一个约定写法,它的作用是确保只有当这个模块被直接运行时,w() 函数才会被调用。
    • 如果不写这部分代码,当这个模块被导入到其他模块中时,main() 函数也会被自动执行,这可能不是您期望的行为。而且,通过这种方式,可以更好地组织和控制模块的执行逻辑,使得模块既可以作为独立的脚本运行,也可以被其他模块安全地导入和使用。

使用说明

  • 你可以根据需要修改 get_file_path 函数中的 base_dir 变量,以更改文件存储的基础目录。
  • 调用 get_file_path 函数时,传入不同的文件名,即可灵活获取不同文件的路径。
  • 运行 main() 函数时,它将完成文件读取、数据框拼接和文件保存操作,并进行相应的异常处理。

这种方式将文件路径的生成逻辑封装在函数中,当需要修改文件存储的目录时,只需修改 get_file_path 函数中的 base_dir 即可,提高了代码的可维护性和灵活性。

  • 天道酬勤

    与人方便,与己方便。

    Related Posts

    python练习3

    小M在工作时遇到了一个问题,他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。小M还发现,有时候输入的数字字符串前面会有无用的 0,这些也需要精简掉。请你帮助小M编写程序,完成这个任务。 测试样例样例1: 输入:s = “1294512.12412”输出:’1,294,512.12412′ 样例2: 输入:s = “0000123456789.99”输出:’123,456,789.99′ 样例3: 输入:s = “987654321”输出:’987,654,321′ ②

    Python陪练2–二维数组

    小R正在计划一次从地点A到地点B的徒步旅行,总路程需要 N 天。为了在旅途中保持充足的能量,小R每天必须消耗1份食物。幸运的是,小R在路途中每天都会经过一个补给站,可以先购买完食物后再消耗今天的1份食物。然而,每个补给站的食物每份的价格可能不同,并且小R在购买完食物后最多只能同时携带 K 份食物。 现在,小R希望在保证每天食物消耗的前提下,以最小的花费完成这次徒步旅行。你能帮助小R计算出最低的花费是多少吗? **输入 ** n 总路程需要的天数k 小R最多能同时携带食物的份数data[i] 第i天补给站每份食物的价格**输出 ** 返回完成这次徒步旅行的最小花费**约束条件 ** 1 < n,k < 10001 < data[i] < 10000测试样例样例1: 输入:n = 5 ,k = 2…

    You Missed

    四大顶尖AI模型

    线上数字人体验地址

    DeepSeek在线使用平台汇总

    AI工具集

    分享目前最全AI工具合集

    python练习3