如何用Pandas读取TSV文件(附实例)

1,306 阅读2分钟

要在Python中用pandas读取TSV文件,可以使用以下基本语法。

df = pd.read_csv("data.txt", sep="\t")

本教程提供了几个如何在实践中使用这个函数的例子:

读取一个带页眉的TSV文件

假设我们有一个名为data.txt 的TSV文件,其中有一个页眉。

为了将这个文件读入pandas DataFrame,我们可以使用以下语法。

import pandas as pd

#read TSV file into pandas DataFrame
df = pd.read_csv("data.txt", sep="\t")

#view DataFrame
print(df)

	column1	column2
0	1	4
1	3	4
2	2	5
3	7	9
4	9	1
5	6	3
6	5	7
7	8	8
8	3	1
9	4	9

我们可以打印DataFrame的类,并使用下面的语法找到行和列的数量:

#display class of DataFrame
print(type(df))

<class 'pandas.core.frame.DataFrame'>

#display number of rows and columns in DataFrame
df.shape

(10, 2)

我们可以看到df是一个有10行2列的pandas DataFrame。

读取一个没有标题的TSV文件

假设我们有一个名为data.txt的TSV文件,没有标题:

要将这个文件读入pandas DataFrame,我们可以使用以下语法。

#read TSV file into pandas DataFrame
df = pd.read_csv("data.txt", sep="\t", header=None)

#view DataFrame
print(df)

        0	1
0	1	4
1	3	4
2	2	5
3	7	9
4	9	1
5	6	3
6	5	7
7	8	8
8	3	1
9	4	9

由于该文本文件没有标题,pandas只是简单地将列01命名。

读取没有标题的TSV文件并指定列名

如果我们愿意,我们可以在导入文本文件的时候使用names参数来指定列名:

#read TSV file into pandas DataFrame and specify column names
df = pd.read_csv("data.txt", sep="\t", header=None, names=["A", "B"])

#display DataFrame
print(df)

	A	B
0	1	4
1	3	4
2	2	5
3	7	9
4	9	1
5	6	3
6	5	7
7	8	8
8	3	1
9	4	9

其他资源

下面的教程解释了如何用pandas读取其他类型的文件:

如何用Pandas读取文本文件
如何用Pandas读取CSV文件
如何用Pandas读取Excel文件
如何用Pandas读取JSON文件