Skip to content
Advertisement

Reading a text file using Pandas accurately in Python

I am trying to read B.txt using pandas. It prints the value of B but not as a list. I present the current and expected outputs.

import pandas as pd

df = pd.read_csv("B.txt", header=None)
B = df. to_numpy()
B=B.tolist()
print("B =",B)

The current output is

B = [['B=3']]

The expected output is

B=[3]

Advertisement

Answer

Add squeeze = True for Series, so ouput is B = ['B=3'], select first value and split, select second value and convert to int:

s  = pd.read_csv("B.txt", header=None, squeeze = True)
print (s)
0    B=3
Name: 0, dtype: object

print (s.iat[0])
B=3
print (s.iat[0].split('='))
['B', '3']

print (s.iat[0].split('=')[1])
3

print("B =", int(s.iat[0].split('=')[1]))
B = 3
User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement