使用pd.read_csv读取无列名CSV时首行设为列名的Python解决方法
解决无列名CSV读取时第一行被设为列名的问题
嘿,这个场景太常见了!用pandas的read_csv读取没有列名的CSV文件时,默认会把第一行数据当成表头,其实只要借助两个关键参数就能轻松纠正,完全不用手动修改原文件:
让pandas自动生成默认列名
如果你不需要自定义列名,只需要给read_csv加上header=None参数,它就会明白这个CSV没有表头行,所有内容都是数据,列名会自动用0、1、2...这样的整数序列来命名:import pandas as pd df = pd.read_csv('file_name.csv', header=None)自定义列名
要是你想给列设置有意义的名称,可以结合header=None和names参数。names接受一个列名列表,会直接把这些名称作为DataFrame的列名,同时第一行数据会被保留为数据行:import pandas as pd # 替换成你需要的列名列表 custom_columns = ['user_id', 'age', 'score'] df = pd.read_csv('file_name.csv', header=None, names=custom_columns)
这样处理后,第一行数据就会被正确识别为数据内容,而不是列名啦!
内容的提问来源于stack exchange,提问作者Deshwal
相关产品推荐
相关产品推荐

