pandas读取excel,txt,csv,pkl文件等命令的操作

  • Post category:Python

以下是关于“pandas读取excel,txt,csv,pkl文件等命令的操作”的完整实例教程。

一、读取Excel文件

1.1 命令说明

pandas中的read_excel命令可以读取Excel文件。该命令的语法如下:

pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds)

其中,各个参数的含义如下:

  • io:Excel文件的路径或者文件句柄,必选参数。
  • sheet_name:可以是一个字符串,也可以是一个整数,指定需要读取的工作表的名称或序号,默认值为0,表示读取第一个工作表。
  • header:整数列表或者整数,指定哪一行为表头,默认值为0,表示第一行为表头。
  • names:列表,指定新的列名。
  • index_col:列的序号或者列名,指定哪一列作为DataFrame的索引(行标签)。
  • usecols:列表,指定需要读取的数据列。
  • squeeze:如果数据只包含一列,则返回一个Series,默认值为False。
  • dtype:字典类型,指定每一列的数据类型。
  • engine:字符串,指定读取Excel文件的Engine,支持的有:’xlrd’, ‘openpyxl’, ‘odf’, ‘pyxlsb’,默认值为None,自动匹配Engine。
  • skiprows:整数列表,跳过指定的行数。
  • nrows:整数,只读取指定行数的数据。
  • na_values:列表,指定哪些字符串代表缺失值。
  • keep_default_na:布尔值,是否保留默认的缺失值标记。
  • convert_float:布尔值,是否将读取到的浮点数转化为python内置的浮点类型。

1.2 示例

现有一个Excel文件data.xlsx,包含三个工作表,命名分别为Sheet1、Sheet2、Sheet3。示例代码如下:

import pandas as pd

# 读取默认工作表,表头默认为第一行
df1 = pd.read_excel('data.xlsx')

# 读取第二个工作表,指定表头为第二行
df2 = pd.read_excel('data.xlsx', sheet_name=1, header=1)

# 读取第三个工作表,只读取前五行数据
df3 = pd.read_excel('data.xlsx', sheet_name=2, nrows=5)

# 打印DataFrame
print(df1)
print(df2)
print(df3)

二、读取txt文件

2.1 命令说明

pandas中的read_table命令可以读取以制表符分隔的文本文件(即TXT文件)。该命令的语法如下:

pandas.read_table(filepath_or_buffer, sep='\t', 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, 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, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, on_bad_lines=None, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

其中,各个参数的含义与read_excel基本相同。其中,与read_excel不同的参数有:

  • sep:指定文件中的分隔符,默认值为制表符\t
  • delimiter:与sep等价。
  • delim_whitespace:当该参数值为True时忽略分隔符,仅根据连续空白符(空格、制表符、换行符等)进行划分。

2.2 示例

现在有一个TXT文件data.txt,内容如下:

Name    Age Country
Alice   25  USA
Bob     31  China
Charlie 43  Germany
David   37  USA
Eve     29  China

该TXT文件使用了制表符进行分割。示例代码如下:

import pandas as pd

# 读取以制表符分隔的TXT文件,表头默认为第一行
df = pd.read_table('data.txt')

# 打印DataFrame
print(df)

三、读取csv文件

3.1 命令说明

pandas中的read_csv命令可以读取逗号分隔的文本文件(即CSV文件)。该命令的语法如下:

pandas.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, 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, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, on_bad_lines=None, skipfooter=0, converters=None, dtype=None, usecols=None, nrows=None, skiprows=None, na_values=None, keep_default_na=True, verbose=False, delimiter=',', encoding=None, squeeze=False)

其中,各个参数的含义与read_table基本相同。其中,与read_table不同的参数有:

  • delimiter:与sep等价,即分隔符为逗号。
  • skipfooter:整数,表示需要忽略掉末尾的几行数据。

3.2 示例

现在有一个CSV文件data.csv,内容如下:

Name,Age,Country
Alice,25,USA
Bob,31,China
Charlie,43,Germany
David,37,USA
Eve,29,China

该CSV文件使用了逗号进行分割。示例代码如下:

import pandas as pd

# 读取以逗号分隔的CSV文件,表头默认为第一行
df = pd.read_csv('data.csv')

# 打印DataFrame
print(df)

四、读取pkl文件

4.1 命令说明

pandas中的read_pickle命令可以读取pkl文件。该命令的语法如下:

pandas.read_pickle(filepath_or_buffer, compression='infer')

其中,各个参数的含义如下:

  • filepath_or_buffer:pkl文件的路径或者文件句柄,必选参数。
  • compression:读取文件时的压缩格式,支持的包括Nonegzipbz2等。

4.2 示例

现在有一个pkl文件data.pkl,示例数据如下:

import pandas as pd

df = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 31]})
df.to_pickle('data.pkl')

此时,可使用如下代码读取pkl文件:

import pandas as pd

# 读取pkl文件
df = pd.read_pickle('data.pkl')

# 打印DataFrame
print(df)

以上给出了关于pandas读取Excel、TXT、CSV、PKL等文件的命令说明及相应的示例代码。