Open In App

Convert Text File to CSV using Python Pandas

Last Updated : 02 Sep, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Let’s see how to Convert Text File to CSV using Python Pandas. Python will read data from a text file and will create a dataframe with rows equal to number of lines present in the text file and columns equal to the number of fields present in a single line. See below example for better understanding.

Original Text File

Dataframe created from upper text file will look as follows: 

CSV File formed from given text file

Note: The first column in dataframe is indexing which is by default when a text file is read.

Once the dataframe is created, we will store this dataframe into a CSV file format using Dataframe.to_csv() Method.

Syntax: Dataframe.to_csv(parameters)

Return: None

Let’s see examples:

Example 1:

Python3




# importing panda library
import pandas as pd
  
# readinag given csv file
# and creating dataframe
dataframe1 = pd.read_csv("GeeksforGeeks.txt")
  
# storing this dataframe in a csv file
dataframe1.to_csv('GeeksforGeeks.csv'
                  index = None)


Output:

CSV File formed from given text file

The text file read is same as above. After successful run of above code, a file named “GeeksforGeeks.csv” will be created in the same directory. 

Example 2: Suppose the column heading are not given and the text file looks like:

Text File without headers

Then while writing the code you can specify headers. 

Python3




# importing pandas library
import pandas as pd
  
# reading given csv file 
# and creating dataframe
websites = pd.read_csv("GeeksforGeeks.txt"
                       ,header = None)
  
# adding column headings
websites.columns = ['Name', 'Type', 'Website']
  
# store dataframe into csv file
websites.to_csv('GeeksforGeeks.csv'
                index = None)


 Output:

CSV file with headers

We see that headers have been added successfully and file has been converted from ‘.txt’ format to ‘.csv’ format.

Example 3: In this example, the fields in the text file are separated by user defined delimiter “/”. 

‘/’ Delimited Text File

Python3




# importing pandas library
import pandas as pd
  
# reading the given csv file 
# and creating dataframe
account = pd.read_csv("GeeksforGeeks.txt",
                      delimiter = '/')
  
# store dataframe into csv file
account.to_csv('GeeksforGeeks.csv',
               index = None)


Output:

CSV File

While reading data we specify that data should be tokenized using specified delimiter. In this case ‘/’.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads