Home > Back-end >  Read txt file with separator is space
Read txt file with separator is space

Time:06-22

I want to read text file. The file is like this: 17430147 17277121 17767569 17352501 17567841 17650342 17572001

I want the result:

17430147

17277121

17767569

17352501

17567841

17650342

17572001

So, i try some codes:

data = pd.read_csv('train.txt', header=None, delimiter=r"\s ")

or

data = pd.read_csv('train.txt', header=None, delim_whitespace=True)

From those codes, the error like this:

ParserError: Too many columns specified: expected 75262 and found 154

Then i try this code:

file = open("train.txt", "r")

data = []

for i in file:
    i = i.replace("\n", "")
    data.append(i.split(" "))

But i think there are missing value in txt file:

'2847',
  '2848',
  '2849',
  '1947',
  '2850',
  '2851',
  '2729',
  ''],
 ['2852',
  '2853',
  '2036',

Thank you!

CodePudding user response:

You can use .T method to transpose your dataframe.

data = pd.read_csv("train.txt", delim_whitespace=True).T

CodePudding user response:

The first step would be to read the text file as a string of values.

with open('train.txt','r') as f:
    lines = f.readlines()
list_of_values = lines[0].split(' ')

Here, list_of_values looks like: ['17430147', '17277121', '17767569', '17352501', '17567841', '17650342', '17572001']

Now, to create a DataFrame out of this list, simply execute:

import pandas as pd
pd.DataFrame(list_of_values)

This will give a pandas DataFrame with a single column with values read from the text file. enter image description here

If only different values that exist in the text file are required to be obtained, then the list list_of_values can be directly used.

  • Related