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

PythonAnywhere免费版读取CSV生成DataFrame显示表头报错求助

问题排查:PythonAnywhere中Pandas显示DataFrame表头报错

问题详情

在PythonAnywhere免费版环境下,尝试通过CSV文件创建DataFrame并显示表头时持续报错。

代码示例

import pandas as pd

data = pd.read_csv('Advertising.csv')
df = pd.DataFrame(data)
print(df.head())

尝试过的操作

  • 运行上述完整代码
  • 在PythonAnywhere终端单独执行print(df.head())
    两种操作均触发报错。

报错信息

Traceback (most recent call last):
  File "/home/bryantadrien12/CS109X_kNN.py", line 8, in <module>
    print(df.head())
    ~~~~~^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/pandas/core/frame.py", line 1214, in __repr__
    return self.to_string(**repr_params)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.13/site-packages/pandas/core/frame.py", line 1394, in to_string
    return fmt.DataFrameRenderer(formatter).to_string(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        buf=buf,
        ^^^^^^^^
        encoding=encoding,
        ^^^^^^^^^^^^^^^^^^
        line_width=line_width,
        ^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
File "/usr/local/lib/python3.13/site-packages/pandas/io/formats/format.py", line 962, in to_string
    string = string_formatter.to_string()
  File "/usr/local/lib/python3.13/site-packages/pandas/io/formats/string.py", line 29, in to_string
    text = self._get_string_representation()
  File "/usr/local/lib/python3.13/site-packages/pandas/io/formats/string.py", line 53, in _get_string_representation
    return self._fit_strcols_to_terminal_width(strcols)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/pandas/io/formats/string.py", line 157, in _fit_strcols_to_terminal_width
    max_len = Series(lines).str.len().max()
  File "/usr/local/lib/python3.13/site-packages/pandas/core/series.py", line 6517, in max
    return NDFrame.max(self, axis, skipna, numeric_only, **kwargs)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/pandas/core/generic.py", line 12404, in max
return self._stat_function(
           ~~~~~~~~~~~~~~~~~~~^
        "max",
        ^^^^^^
    ...<4 lines>...
        **kwargs,
        ^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/pandas/core/generic.py", line 12377, in _stat_function
    return self._reduce(
           ~~~~~~~~~~~^
        func, name=name, axis=axis, skipna=skipna, numeric_only=numeric_only
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/pandas/core/series.py", line 6457, in _reduce
    return op(delegate, skipna=skipna, **kwds)
  File "/usr/local/lib/python3.13/site-packages/pandas/core/nanops.py", line 147, in f
    result = alt(values, axis=axis, skipna=skipna, **kwds)
  File "/usr/local/lib/python3.13/site-packages/pandas/core/nanops.py", line 404, in new_func
    result = func(values, axis=axis, skipna=skipna, mask=mask, **kwargs)
  File "/usr/local/lib/python3.13/site-packages/pandas/core/nanops.py", line 1098, in reduction
    result = getattr(values, meth)(axis)
  File "/usr/local/lib/python3.13/site-packages/numpy/_core/_methods.py", line 45, in _amax
    return umr_maximum(a, axis, None, out, keepdims, initial, where)
TypeError: int() argument must be a string, a bytes-like object or a real number, not '_NoValueType'

解决办法

1. 修复版本兼容性问题

你当前使用Python3.13,属于较新版本,部分Pandas版本与该Python版本存在兼容性bug:

  • 降级Python版本:在PythonAnywhere控制台切换到Python3.12版本,重新安装Pandas。
  • 升级Pandas:在终端执行pip install --upgrade pandas,安装适配Python3.13的最新稳定版。

2. 确认CSV文件路径

  • 先打印当前工作目录,检查文件是否在该路径下:
    import os
    print(os.getcwd())
    
  • 如果文件不在当前目录,使用完整路径读取,例如pd.read_csv('/home/bryantadrien12/Advertising.csv')

3. 排查CSV文件异常

  • 在PythonAnywhere文件管理器中打开Advertising.csv,检查表头及内容是否存在乱码、缺失或格式错误。
  • 尝试跳过异常行读取:
    data = pd.read_csv('Advertising.csv', on_bad_lines='skip')
    

4. 调整终端显示设置

报错涉及终端宽度适配问题,可尝试以下两种方式:

  • 直接打印表头而非整个前几行:
    print(df.columns)
    
  • 设置Pandas显示参数后再打印:
    pd.set_option('display.max_columns', None)
    pd.set_option('display.width', 1000)
    print(df.head())
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 01:20:19