Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tut] How to Convert Multiple Text Files to a Single CSV in Python?
1
How to Convert Multiple Text Files to a Single CSV in Python?

5/5 – (1 vote)

You can merge multiple text files to a single CSV file in Python by using the
Code:
glob.glob('./*.txt')
expression to filter out all path names of text files in a given folder. Then iterate over all those path names and use the
Code:
open()
function to read the file contents and write append them to the CSV.

[Image: image-1.png][i]Example: merge those files[/i]

Here’s the simple example:

Code:
import glob with open('my_file.csv', 'a') as csv_file: for path in glob.glob('./*.txt'): with open(path) as txt_file: txt = txt_file.read() + '\n' csv_file.write(txt)

The resulting output CSV file shows that all text files have been merged:

[Image: image-2.png]

You can replace the separator (e.g., from single empty space to comma) by using the
Code:
txt.replace(' ', ',')
function before writing it in the CSV:

Code:
import glob with open('my_file.csv', 'a') as csv_file: for path in glob.glob('./*.txt'): with open(path) as txt_file: txt = txt_file.read() + '\n' txt = txt.replace(' ', ',') csv_file.write(txt)

The resulting CSV is neatly separated with comma characters:

[Image: image-3.png]

In case you need some more advanced ways to convert the text files to the CSV, you may want to check out the Pandas
Code:
read_csv()
function to read the CSV into a DataFrame.

As soon as you have it as a DataFrame, you can do advanced processing such as merging, column selection, slicing, etc.

[Image: 1f30d.png] Related Tutorial: How to Read a CSV to a DataFrame?
Reply

Users browsing this thread:
1 Guest(s)


Forum Jump: