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 文件时如何设置列名称