How to Load Data From Text File in Pandas
-
read_csv()
Method to Load Data From Text File -
read_fwf()
Method to Load Width-Formated Text File to PandasDataFrame
-
read_table()
Method to Load Text File to PandasDataFrame
We will introduce the methods to load the data from a txt
file with Pandas DataFrame
. We will also go through the available options.
First, we will create a simple text file called sample.txt
and add the following lines to the file:
45 apple orange banana mango
12 orange kiwi onion tomato
We need to save it to the same directory from where Python script will be running.
read_csv()
Method to Load Data From Text File
read_csv()
is the best way to convert the text
file into Pandas DataFrame
. We need to set header=None
as we don’t have any header
in the above-created file. We can also set keep_default_na=False
inside the method if we wish to replace empty values with NaN
.
Example Codes:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=" ", header=None)
print(df)
Output:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
We set sep=" "
because a single white space separates values. Similarly, we can set sep=","
if we read data from a comma-separated file. Replace the white spaces inside sample.txt
with ,
and then run the code after replacing sep=" "
with sep=","
.
Sample.txt
45,apple,orange,banana,mango
12,orange,kiwi,,tomato
Code:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=",", header=None)
print(df)
Output:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi NaN tomato
read_fwf()
Method to Load Width-Formated Text File to Pandas DataFrame
read_fwf()
is very helpful to load a width-formatted text file. We can’t use sep
because different values may have different delimiters. Consider the following text file:
Sample.txt
45 apple orange banana mango
12 orange kiwi onion tomato
In Sample.text
, delimiter
is not the same for all values. So read_fwf()
will do the job here.
Code:
# python 3.x
import pandas as pd
df = pd.read_fwf("sample.txt", header=None)
print(df)
Output:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
read_table()
Method to Load Text File to Pandas DataFrame
read_table()
is another approach to load data from text
file to Pandas DataFrame
.
Sample.txt:
45 apple orange banana mango
12 orange kiwi onion tomato
Code:
# python 3.x
import pandas as pd
df = pd.read_table("sample.txt", header=None, sep=" ")
print(df)
Output:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato