pandas.read_csv参数详解(小结)
### pandas.read_csv 参数详解 `pandas.read_csv` 是 Pandas 库中一个非常重要的函数,主要用于从 CSV 文件中读取数据并将其转换为 DataFrame 对象。以下是对该函数各个参数的详细介绍: #### filepath_or_buffer - **描述**:指定要读取的 CSV 文件路径或缓冲区对象。 - **类型**:可以是字符串、`pathlib.Path`、`py._path.local.LocalPath` 或任何具有 `read()` 方法的对象(如文件句柄或 `StringIO` 对象)。 - **支持的 URL 类型**:包括 `http`、`ftp`、`s3` 和本地文件路径。 - **示例**: - 本地文件路径:`"C:\\local\\path\\to\\table.csv"` - HTTP 地址:`"http://example.com/data.csv"` #### sep - **描述**:指定 CSV 文件中数据项之间的分隔符,默认为逗号。 - **类型**:字符串。 - **默认值**:`,`。 - **特殊处理**:如果分隔符长度超过一个字符且不是 `\s+`,将使用 Python 的正则表达式解析器进行解析,并忽略数据中的逗号。 - **示例**:`'\t'` 表示使用制表符作为分隔符。 #### delimiter - **描述**:提供了一个备选的分隔符选项,与 `sep` 相互排斥,即如果设置了 `delimiter`,则 `sep` 将被忽略。 - **类型**:字符串。 - **默认值**:`None`。 - **示例**:`';'` #### delim_whitespace - **描述**:指定是否使用空白字符(如空格或制表符)作为分隔符。 - **类型**:布尔值。 - **默认值**:`False`。 - **等效设置**:若设为 `True`,则等同于设置 `sep='\s+'`。 - **版本支持**:自 Pandas 0.18.1 版本起支持。 #### header - **描述**:指定哪些行应被用作列名。 - **类型**:整数或整数列表。 - **默认值**:`'infer'`,自动检测 CSV 文件中是否存在表头行。 - **示例**: - `0`:表示第一行作为列名。 - `None`:表示无表头行。 - `[0, 1]`:表示第 1 行和第 2 行作为多级列名。 #### names - **描述**:当 CSV 文件中没有显式定义列名时,可以使用此参数指定列名列表。 - **类型**:数组样式的对象。 - **默认值**:`None`。 - **示例**:`['name', 'age', 'gender']` - **注意事项**:如果 `header` 已经指定了列名,则 `names` 将被忽略。 #### index_col - **描述**:指定哪些列应被用作行索引。 - **类型**:整数、字符串或整数/字符串列表。 - **默认值**:`None`。 - **示例**:`0` 表示使用第一列作为索引列。 - **特殊情况**:如果设置为 `False`,则不会使用任何列作为索引。 #### usecols - **描述**:仅读取 CSV 文件中的某些列。 - **类型**:数组样式的对象。 - **默认值**:`None`。 - **示例**:`[0, 2, 3]` 表示只读取第 1、3、4 列;`['name', 'age']` 表示只读取名为 `name` 和 `age` 的列。 - **优点**:可以减少内存占用和提高读取速度。 #### as_recarray - **描述**:已废弃,未来版本将移除。 - **类型**:布尔值。 - **默认值**:`False`。 - **替代方案**:建议使用 `pd.read_csv().to_records()`。 #### squeeze - **描述**:如果 CSV 文件仅包含一列,则返回 Series 而不是 DataFrame。 - **类型**:布尔值。 - **默认值**:`False`。 #### prefix - **描述**:当 `header=None` 时,为列添加前缀。 - **类型**:字符串。 - **默认值**:`None`。 - **示例**:设置为 `'X'` 后,列名变为 `X0`, `X1`, `X2` 等。 #### mangle_dupe_cols - **描述**:决定如何处理重复的列名。 - **类型**:布尔值。 - **默认值**:`True`。 - **示例**:若设为 `True`,则重复的列名会被重命名为 `X.0`, `X.1` 等。 #### dtype - **描述**:指定各列的数据类型。 - **类型**:数据类型名称或列名到数据类型的映射字典。 - **默认值**:`None`。 - **示例**:`{'name': str, 'age': int}`。 #### engine - **描述**:指定使用的解析引擎。 - **类型**:字符串。 - **可选值**:`'c'` 或 `'python'`。 - **默认值**:通常为 `'c'`。 - **性能差异**:C 引擎通常更快,但 Python 引擎可能更灵活。 ### 总结 通过上述介绍可以看出,`pandas.read_csv` 函数提供了丰富的参数配置选项,能够满足用户在不同场景下的需求。理解这些参数的具体含义及其用法,可以帮助我们更高效地读取和处理 CSV 文件。希望本文的详细介绍对你在实际工作中有所帮助!