Pandas 中如何从文本文件加载数据
Asad Riaz
2023年1月30日
-
使用
read_csv()
方法从文本文件加载数据 -
使用
read_fwf()
方法将宽度格式的文本文件加载到 Pandas dataframe 中 -
使用
read_table()
方法将文本文件加载到 Pandas dataframe 中
我们将介绍 Pandas Dataframe 从 txt 文件中加载数据的方法。我们还将介绍可用的选项。
首先,我们将创建一个名为 sample.txt
的简单文本文件,并在文件中添加以下几行:
45 apple orange banana mango
12 orange kiwi onion tomato
我们需要将其保存到运行 Python 脚本的目录中。
使用 read_csv()
方法从文本文件加载数据
read_csv()
是将文本文件转换为 Pandas Dataframe 的最佳方法。我们需要设置 header=None
,因为上面创建的文件中没有任何 header
。如果我们希望将空值替换为 NaN
,我们还可以在方法内部设置 keep_default_na=False
。
示例代码:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=" ", header=None)
print(df)
输出:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
我们将设置 sep =" "
因为值之间用一个空格隔开。同样,如果我们从逗号分隔的文件中读取数据,则可以设置 sep =","
。将 sample.txt
中的空格替换为 ,
,然后将 sep =" "
替换为 sep =","
,然后运行代码。
Sample.txt
45,apple,orange,banana,mango
12,orange,kiwi,,tomato
代码:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=",", header=None)
print(df)
输出:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi NaN tomato
使用 read_fwf()
方法将宽度格式的文本文件加载到 Pandas dataframe 中
当我们有一个宽度格式化
文本文件时,read_fwf()
将非常有用。我们不能使用 sep
,因为不同的值可能具有不同的分隔符。考虑以下文本文件:
Sample.txt
45 apple orange banana mango
12 orange kiwi onion tomato
如果我们看一下 Sample.text
,我们将看到分隔符 delimiter
对于每个值都不相同。所以 read_fwf()
将能达到我们正确读取这个文件数据的目的。
代码:
# python 3.x
import pandas as pd
df = pd.read_fwf("sample.txt", header=None)
print(df)
输出:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
使用 read_table()
方法将文本文件加载到 Pandas dataframe 中
read_table()
是将数据从文本文件加载到 Pandas DataFrame 的另一种方法。
Sample.txt:
45 apple orange banana mango
12 orange kiwi onion tomato
代码:
# python 3.x
import pandas as pd
df = pd.read_table("sample.txt", header=None, sep=" ")
print(df)
输出:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato