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
相关产品推荐
相关产品推荐

