Pandas:如何从 csv 文件中仅读取特定行


您可以使用以下基本语法将 CSV 文件中的特定行读入 pandas DataFrame:

 #specify rows to import
specific_rows = [ 0 , 2 , 3 ]

#import specific rows from CSV into DataFrame
df = pd. read_csv (' my_data.csv ', skiprows = lambda x:x not in specific_rows)

此特定示例将从名为my_data.csv的 CSV 文件中将索引位置 0、2 和 3 处的行读取到 pandas DataFrame 中。

以下示例展示了如何在实践中使用此语法。

示例:仅读取 Pandas 中 CSV 文件中的特定行

假设我们有以下名为篮球数据.csv的 CSV 文件:

如果我们使用read_csv()函数,pandas 会自动将 CSV 文件的每一行导入到 DataFrame 中:

 import pandas as pd

#import all rows of CSV into DataFrame
df = pd. read_csv (' basketball_data.csv ')

#view DataFrame
print (df)

  team points rebounds
0 to 22 10
1 B 14 9
2 C 29 6
3 D 30 2

但是,我们可以使用以下语法仅将索引位置 0、2 和 3 处的行从 CSV 文件导入到 pandas DataFrame 中:

 import pandas as pd

#specify rows to import
specific_rows = [ 0 , 2 , 3 ]

#import specific rows from CSV into DataFrame
df = pd. read_csv (' basketball_data.csv ', skiprows = lambda x:x not in specific_rows)

#view DataFrame
print (df)

  team points rebounds
0 B 14 9
1 C 29 6

请注意,只有 CSV 文件索引位置 0、2 和 3 处的行才会导入到 DataFrame 中。

此语法使用skiprows参数和lambda函数来告诉pandas在导入CSV文件时不应跳过哪些行。

在此示例中,我们告诉 pandas 在导入 CSV 文件时不要忽略索引位置 0、2 和 3 中的行,而是忽略所有其他行。

注意:您可以在此处找到 pandas read_csv()函数的完整文档。

其他资源

以下教程解释了如何在 Python 中执行其他常见任务:

Pandas:如何在读取 CSV 文件时跳行
Pandas:如何将数据添加到现有 CSV 文件
Pandas:导入 CSV 文件时如何指定类型
Pandas:导入 CSV 文件时如何设置列名称

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注