You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字符串转Int/Float时遇OSError异常问题求助

问题排查与解决建议

核心问题分析

报错 OSError('could not get source code') 伴随 Unexpected exception formatting exception. Falling back to standard exception,通常和代码文件权限、路径异常或Pandas与Python环境的适配冲突有关,换电脑后环境路径、文件访问权限变化是主要诱因。

具体排查与修复步骤

  • 检查文件路径:确保数据集和代码文件路径无中文、特殊字符(空格、括号等),改用纯英文路径,例如将D:/用户数据/数据集.csv改为D:/data/dataset.csv。
  • 验证文件权限:右键代码和数据集文件,确认当前用户拥有读取/写入权限,避免系统权限限制导致Pandas无法读取代码上下文。
  • 运行最小测试代码:剥离复杂逻辑,先验证基础转换功能是否正常,示例代码:
    import pandas as pd
    # 用测试数据集替换路径
    df = pd.read_csv("test_dataset.csv")
    # 测试单列转换
    df['int_column'] = df['int_column'].astype(int)
    df['float_column'] = df['float_column'].astype(float)
    print(df.dtypes)
    
    若此代码正常运行,再逐步恢复原代码逻辑定位问题;若仍报错,聚焦环境或文件本身问题。
  • 调整Pandas版本:最新版Pandas可能与Python3.9存在适配问题,降级至稳定兼容版本,执行命令:
    pip install pandas==1.5.3
    
  • 清理缓存:删除项目目录下的__pycache__文件夹,以及Python安装目录下Lib\site-packages中的临时缓存文件,避免旧缓存干扰。
  • 指定文件编码:换电脑后默认编码可能不同,读取文件时显式指定编码,例如:
    df = pd.read_csv("dataset.csv", encoding='utf-8')
    # 或针对GBK编码的文件
    df = pd.read_csv("dataset.csv", encoding='gbk')
    
  • 清理数据异常值:检查数据集中是否存在隐藏字符(空格、换行符),先清理再转换:
    df['target_col'] = df['target_col'].str.strip().astype(int)
    

内容的提问来源于stack exchange,提问作者Alex Martinez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:32:11