Pandas read_csv()

Pandas 中的 read_csv() 函数用于将 CSV 文件转换为 DataFrame。

示例

假设 sample_data.csv 包含以下内容

Employee ID,First Name,Last Name,Department,Position,Salary
101,John,Doe,Marketing,Manager,50000
102,Jane,Smith,Sales,Associate,35000
103,Michael,Johnson,Finance,Analyst,45000
104,Emily,Williams,HR,Coordinator,40000

现在,让我们编写代码来使用 read_csv() 读取上面的 csv 文件。

import pandas as pd

# load data from a CSV file
df = pd.read_csv('sample_data.csv')

print(df)
'''
Output

   Employee ID First Name Last Name Department     Position  Salary
0          101       John       Doe  Marketing      Manager   50000
1          102       Jane     Smith      Sales    Associate   35000
2          103    Michael   Johnson    Finance      Analyst   45000
3          104      Emily  Williams         HR  Coordinator   40000
'''

read_csv() 语法

Pandas 中 read_csv() 函数的语法是

pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, dtype=None, skiprows=None, nrows=None, na_values=None, parse_dates=False)

read_csv() 参数

read_csv() 函数接受以下常用参数

  1. filepath_or_buffer:文件的路径或类文件对象
  2. sepdelimiter(可选):要使用的分隔符
  3. header(可选):用作列名的行号
  4. names(可选):要使用的列名列表。
  5. index_col(可选):要设置为索引的列。
  6. usecols(可选):返回列的子集
  7. dtype(可选):数据或列的数据类型
  8. nrows(可选):要读取的文件的行数
  9. na_values(可选):其他要识别为 NaN 的字符串
  10. parse_dates(可选):布尔值或整数列表或名称或列表的列表或字典

read_csv() 返回值

read_csv() 函数返回一个 DataFrame,其中包含从 CSV 文件读取的数据。


示例 1:基本 CSV 读取

假设 sample_data.csv 包含以下内容

Employee ID,First Name,Last Name,Department,Position,Salary
101,John,Doe,Marketing,Manager,50000
102,Jane,Smith,Sales,Associate,35000
103,Michael,Johnson,Finance,Analyst,45000
104,Emily,Williams,HR,Coordinator,40000

现在,让我们编写代码来使用 read_csv() 读取上面的 csv 文件。

import pandas as pd

# load data from a CSV file
df = pd.read_csv('sample_data.csv')

print(df)

输出

   Employee ID First Name Last Name Department     Position  Salary
0          101       John       Doe  Marketing      Manager   50000
1          102       Jane     Smith      Sales    Associate   35000
2          103    Michael   Johnson    Finance      Analyst   45000
3          104      Emily  Williams         HR  Coordinator   40000

在此示例中,我们从 sample_data.csv 读取数据并打印 DataFrame。


示例 2:跳过行并设置索引列

对于此示例,让我们使用第一个示例中使用的相同 csv 文件(以逗号作为分隔符)。

import pandas as pd

# skip the first row and set the first column as the index
df = pd.read_csv('sample_data.csv', skiprows=1, index_col=0)

print(df)

输出


101     John      Doe     Marketing      Manager  50000
102     Jane     Smith     Sales    Associate  35000
103  Michael   Johnson   Finance      Analyst  45000
104    Emily  Williams        HR  Coordinator  40000

在这里,我们跳过了第一行,因此第二行被自动推断为标题。此外,我们使用 index_col=0 将第一列用作索引。


示例 3:使用数据类型读取选定的列

对于此示例,让我们使用与文件 sample_data.csv 相同的文件。

import pandas as pd

# read specific columns and set their data types
df = pd.read_csv('sample_data.csv', usecols=['First Name', 'Salary'], dtype={'First Name': str, 'Salary': float})

print(df)

输出

  First Name   Salary
0       John  50000.0
1       Jane  35000.0
2    Michael  45000.0
3      Emily  40000.0

此示例仅从文件中读取 First NameSalary 列,并为每列设置数据类型。

注意:处理大型 CSV 文件时,您可能需要考虑使用 chunksize(以块的形式读取文件)或 iterator(逐块读取文件)等参数。


示例 4:指定分隔符和列名

对于此示例,让我们假设 sample_data.csv 具有以下内容

Employee ID;First Name;Last Name;Department;Position;Salary
101;John;Doe;Marketing;Manager;50000
102;Jane;Smith;Sales;Associate;35000
103;Michael;Johnson;Finance;Analyst;45000
104;Emily;Williams;HR;Coordinator;40000

请注意使用了 ; 作为分隔符。现在,让我们读取由分隔符分隔的 CSV 文件。

import pandas as pd

# specify a delimiter and column names
df = pd.read_csv('sample_data.csv', delimiter=';', names=['ID', 'Name', 'Surname', 'Dept', 'Position', 'Salary'], header=0)

print(df)

输出

    ID     Name   Surname       Dept     Position  Salary
0  101     John       Doe  Marketing      Manager   50000
1  102     Jane     Smith      Sales    Associate   35000
2  103  Michael   Johnson    Finance      Analyst   45000
3  104    Emily  Williams         HR  Coordinator   40000

在此示例中,我们将分隔符指定为 ;。我们还使用 names 参数手动指定了列名。

这里,header=0 参数表示第 0 行是标题。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战