如何在使用Pandas读取csv文件时跳过行
由于以数据为中心的Python包的惊人的生态系统,Python是一种做数据分析的好语言。Pandas包就是其中之一,它使导入和分析数据变得非常容易。
这里,我们将讨论如何在读取csv文件时跳过行。我们将使用 Pandas 库的 read_csv() 方法来完成这项任务。
语法:
pd.read_csv(filepath_or_buffer, sep=', ', 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,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, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)
以下是一些有用的参数。
参数 | 使用 |
---|---|
filepath_or_buffer | 文件的URL或Dir位置 |
sep | 代表分隔符,默认为csv(逗号分隔值)中的’,’ 。 |
index_col | 该参数用于将所传递的列作为索引,而不是0、1、2、3…r。 |
header | 该参数用于将传递的行[int/int list]作为标题。 |
use_cols | 这个参数只使用传递的col[字符串列表]来制作数据框。 |
squeeze | 如果是True并且只传递了一列,则返回pandas系列。 |
skiprows | 该参数用于跳过新数据框中已通过的行。 |
skipfooter | 该参数用于跳过文件底部的行数。 |
下载student.csv文件,请点击这里
方法1:在读取csv文件时,从开始跳过N行。
代码:
# Importing Pandas library
import pandas as pd
# Skipping 2 rows from start in csv
# and initialize it to a dataframe
df = pd.read_csv("students.csv",
skiprows = 2)
# Show the dataframe
df
输出 :
方法2:在读取csv文件时跳过特定位置的行。
代码:
# Importing Pandas library
import pandas as pd
# Skipping rows at specific position
df = pd.read_csv("students.csv",
skiprows = [0, 2, 5])
# Show the dataframe
df
输出 :
方法3:在读取csv文件时,从开始除列名外跳过N行。
代码:
# Importing Pandas library
import pandas as pd
# Skipping 2 rows from start
# except the column names
df = pd.read_csv("students.csv",
skiprows = [i for i in range(1, 3) ])
# Show the dataframe
df
输出 :
方法4:在读取csv文件时,根据一个条件跳过行。
代码:
# Importing Pandas library
import pandas as pd
# function for checking and
# skipping every 3rd line
def logic(index):
if index % 3 == 0:
返回值 True
返回值 False
# Skipping rows based on a condition
df = pd.read_csv("students.csv",
skiprows = lambda x: logic(x) )
# Show the dataframe
df
输出 :
方法5:在读取csv文件时,从最后跳过N行。
代码:
# Importing Pandas library
import pandas as pd
# Skipping 2 rows from end
df = pd.read_csv("students.csv",
skipfooter = 5,
engine = 'python')
# Show the dataframe
df
输出 :