在读取CSV文件时,有时会遇到没有列索引的状况,无法直接读取。
举例
如上图CSV
当我们尝试执行read_csv操作后,显然并非我们想要的结果。
import pandas as pd df=pd.read_csv('weather_data2.csv') df
原因与解决方式
原因
在pandas.read_csv()函数读取文件时,默认情况下,会把数据内容的第一行默认为字段名标题。
方法与参数介绍
pd.read_csv( filepath_or_buffer: Union[ForwardRef('PathLike[str]'), str, IO[~T], io.RawIOBase, io.BufferedIOBase, io.TextIOBase, _io.TextIOWrapper, mmap.mmap], sep=<object object at 0x0000023800318260>, delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal: str = '.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options: Union[Dict[str, Any], NoneType] = None, )
看了这段介绍的文字,受限于知识储备,并未能很好理解。
解决方案
添加"header=None",意思是设置csv文件数据没有列索引,然后,执行read_csv操作将会自动加上列索引。如下图: