如何使用 Pandas 读取文本文件?
在本文中,我们将讨论如何在Python中使用 pandas 读取文本文件。在Python中,pandas 模块允许我们从外部文件加载 DataFrame 并对其进行处理。数据集可以位于不同类型的文件中。
使用的文本文件:
方法一:使用 read_csv()
我们将使用 read_csv()函数读取带有 pandas 的文本文件。除了文本文件,我们还将分隔符作为空格字符的单个空格 (' ') 传递,因为对于文本文件,空格字符将分隔每个字段。我们可以将三个参数传递给 read_csv()函数。
句法:
data=pandas.read_csv(‘filename.txt’, sep=’ ‘, header=None, names=[“Column1”, “Column2”])
Parameters:
- filename.txt: As the name suggests it is the name of the text file from which we want to read data.
- sep: It is a separator field. In the text file, we use the space character(‘ ‘) as the separator.
- header: This is an optional field. By default, it will take the first line of the text file as a header. If we use header=None then it will create the header.
- names: We can assign column names while importing the text file by using the names argument.
示例 1:
Python3
# Read Text Files with Pandas using read_csv()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame
df = pd.read_csv("gfg.txt", sep=" ")
# display DataFrame
print(df)
Python3
# Read Text Files with Pandas using read_csv()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame and
# create header
df = pd.read_csv("gfg.txt", sep=" ", header=None)
# display DataFrame
print(df)
Python3
# Read Text Files with Pandas using read_csv()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame and create
# header with names
df = pd.read_csv("gfg.txt", sep=" ", header=None,
names=["Team1", "Team2"])
# display DataFrame
print(df)
Python3
# Read Text Files with Pandas using read_table()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame
df = pd.read_table("gfg.txt", delimiter=" ")
# display DataFrame
print(df)
Python3
# Read Text Files with Pandas using read_fwf()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame
df = pd.read_fwf("gfg.txt")
# display DataFrame
print(df)
输出:
示例 2:
在示例 2 中,我们将使标头字段等于 None。这将在输出中创建一个默认标题。并将文本文件的第一行作为数据输入。创建的标题名称将是一个从 0 开始的数字。
Python3
# Read Text Files with Pandas using read_csv()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame and
# create header
df = pd.read_csv("gfg.txt", sep=" ", header=None)
# display DataFrame
print(df)
输出:
示例 3:
在上面的输出中,我们可以看到它创建了一个从数字 0 开始的标头。但我们也可以为标头命名。在这个例子中,我们将看到如何使用 pandas 创建一个带有名称的标题。
Python3
# Read Text Files with Pandas using read_csv()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame and create
# header with names
df = pd.read_csv("gfg.txt", sep=" ", header=None,
names=["Team1", "Team2"])
# display DataFrame
print(df)
输出:
方法 2:使用 read_table()
我们可以在 pandas 中使用 read_table() 从文本文件中读取数据。此函数将通用分隔文件读取到 DataFrame 对象。此函数本质上与 read_csv()函数相同,但分隔符 = '\t',而不是默认情况下的逗号。我们将使用 read_table函数读取数据,使分隔符等于单个空格('')。
句法:
data=pandas.read_table('filename.txt', delimiter = ' ')
例子:
Python3
# Read Text Files with Pandas using read_table()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame
df = pd.read_table("gfg.txt", delimiter=" ")
# display DataFrame
print(df)
输出:
方法 3:使用 read_fwf()
read_fwf()函数中的 fwf 代表固定宽度的行。我们可以使用这个函数从文件中加载 DataFrame。此函数还支持文本文件。我们将使用 pandas 的 read_fef()函数从文本文件中读取数据。它还支持可选地迭代或将文件分成块。由于文本文件中的列以固定宽度分隔,因此 read_fef() 将内容有效地读取到单独的列中。
句法:
data=pandas.read_fwf('filename.txt')
例子:
Python3
# Read Text Files with Pandas using read_fwf()
# importing pandas
import pandas as pd
# read text file into pandas DataFrame
df = pd.read_fwf("gfg.txt")
# display DataFrame
print(df)
输出: