问题描述
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文件应该能够正确地被读取并且不会引发错误。