【Python】raise ValueError(f“Argument {on_bad_lines} is invalid for on_bad_lines“)

问题描述

Python 报错,错误信息如下:

Traceback (most recent call last):
  File "netease_cloud_music_data_analysis.py", line 114, in <module>
    key_down()
  File "netease_cloud_music_data_analysis.py", line 55, in key_down
    get_data_of_music_list_detail_page()
  File "music_detail.py", line 10, in get_data_of_music_list_detail_page
    df = pd.read_csv('./music_data/music_list.csv', header=None,on_bad_lines=None, names=['url', 'title', 'play',
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "Python311\Lib\site-packages\pandas\io\parsers\readers.py", line 935, in read_csv
    kwds_defaults = _refine_defaults_read(
                    ^^^^^^^^^^^^^^^^^^^^^^
  File "Python311\Lib\site-packages\pandas\io\parsers\readers.py", line 2046, in _refine_defaults_read
    raise ValueError(f"Argument {on_bad_lines} is invalid for on_bad_lines")
ValueError: Argument None is invalid for on_bad_lines
ERROR conda.cli.main_run:execute(49): `conda run python netease_cloud_music_data_analysis.py` failed. (See above for error)

进程已结束,退出代码为 1


原因分析

这个错误是因为在读取CSV文件时,on_bad_lines参数的值无效。on_bad_lines参数用于指定如何处理错误的行,它接受一个字符串或者一个函数。在这个例子中,on_bad_lines=None是无效的,因为None不是一个有效的值。


解决方案

移除无效的 on_bad_lines=None 参数。

df = pd.read_csv('./music_data/music_list.csv', header=None, names=['url', 'title', 'play', 'user'])

现在,CSV文件应该能够正确地被读取并且不会引发错误。

猜你喜欢

转载自blog.csdn.net/qq_34988204/article/details/135044703
今日推荐