lddlsy 2025-08-10 16:53 采纳率: 100%
浏览 9
已结题

pandas读取csv路径问题

pandas中
我想实现
a=input('文件名:')
b=input('日期:')

csv_data = pd.read_csv(r'/home/qq/b/a.csv')

/home/qq/b/a.csv中b和a是我键入的值,从而补全这个路径让我能够正确读取这个csv

请问怎么实现

  • 写回答

7条回答

  • 檀越@新空间 2025-08-10 16:54
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    在使用 pandas 读取 CSV 文件时,如果路径中包含用户输入的变量(如文件名和日期),需要将这些变量动态地拼接进路径字符串中。你可以使用 Python 的字符串格式化功能来实现这一点。


    解决方案:

    1. 获取用户输入的文件名和日期
      使用 input() 函数获取用户输入的内容。

    2. 构建动态路径字符串
      将用户输入的文件名和日期插入到固定路径中。

    3. 使用 pd.read_csv() 正确读取 CSV 文件
      确保路径正确后调用 pd.read_csv() 方法。


    📌 代码示例:

    import pandas as pd
    
    # 获取用户输入
    a = input('请输入文件名: ')
    b = input('请输入日期: ')
    
    # 构建动态路径
    file_path = f'/home/qq/b/{a}_{b}.csv'
    
    # 读取 CSV 文件
    csv_data = pd.read_csv(file_path)
    
    # 打印数据以验证是否成功读取
    print(csv_data)
    

    🔍 说明:

    • f-string 是 Python 3.6+ 支持的一种字符串格式化方式,非常方便。
    • 假设你的文件名格式为 a_b.csv,例如:data_20250405.csv
    • 如果你希望路径是 /home/qq/b/a.csv 中的 a.csv 被替换为用户输入的 ab,则可以这样写:
    file_path = f'/home/qq/b/{a}_{b}.csv'
    

    注意: 如果你的实际文件名不是 a_b.csv,而是像 a.csvb.csv 这样的形式,请根据实际情况调整路径拼接方式。


    🛠️ 示例运行:

    假设用户输入:

    请输入文件名: data
    请输入日期: 20250405
    

    程序会自动构建路径:

    /home/qq/b/data_20250405.csv
    

    然后尝试读取该文件。


    ⚠️ 常见错误及解决方法:

    | 错误 | 解决方法 | |------|----------| | 文件路径不存在 | 检查输入是否正确,或使用 os.path.exists() 验证路径是否存在 | | 文件扩展名错误 | 确保文件名后缀是 .csv | | 权限问题 | 确保你有权限访问该路径 |


    推荐改进:

    如果你希望更安全地处理路径,可以使用 os.path 模块:

    import os
    import pandas as pd
    
    a = input('请输入文件名: ')
    b = input('请输入日期: ')
    
    # 构建路径
    file_path = os.path.join('/home/qq/b', f'{a}_{b}.csv')
    
    # 读取 CSV
    csv_data = pd.read_csv(file_path)
    

    这种方式在跨平台(Windows/Linux)时更可靠。


    如有更多关于路径、文件操作的问题,欢迎继续提问!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 8月20日
  • 已采纳回答 8月12日
  • 创建了问题 8月10日