Home > Back-end >  Create csv file using python, where all the values are seperated after first spacing and creates one
Create csv file using python, where all the values are seperated after first spacing and creates one

Time:07-11

I need help to convert simple_line.txt file to csv file using the pandas library. However, I am unable to categorize image file where i want to create all the values after first space in one column.

Here is the file (sample_list.txt), listed row by row:

Image            Label
doc_pres223.jpg Durasal
doc_pres224.jpg Tab Cefepime
doc_pres225.jpg Tab Bleomycin
doc_pres226.jpg Budesonide is a corticosteroid,
doc_pres227.jpg prescribed for inflammatory,

I want the csv file to be like- enter image description here

CodePudding user response:

txt_file = r"./example.txt"
csv_file = r"./example.csv"

separator = "; "

with open(txt_file) as f_in, open(csv_file, "w ") as f_out:
    for line in f_in:
        f_out.write(separator.join(line.split(" ", maxsplit=1)))

CodePudding user response:

try this:

import pandas as pd

def write_file(filename, output):
    df = pd.DataFrame()
    lines = open(filename, 'r').readlines()
    for l in range(1, len(lines)):
        line = lines[l]
        arr = line.split(" ", maxsplit=1)
        image_line = arr[0]
        label_line = arr[1].replace('\n', '')
        df = df.append({'Image': image_line, 'Label': label_line}, ignore_index=True)

    df.to_csv(output)


if __name__ == '__main__':
    write_file('example.txt', 'example.csv')
  • Related