jyotiska
jyotiska

Reputation: 41

Parse list and create DataFrame

I have been given a list called data which has the following content

data=[b'Name,Age,Occupation,Salary\r\nRam,37,Plumber,1769\r\nMohan,49,Elecrician,3974\r\nRahim,39,Teacher,4559\r\n']

I wanted to have a pandas dataframe which looks like the link Expected Dataframe

How can I achieve this.

Upvotes: 0

Views: 81

Answers (2)

Abhinav Goyal
Abhinav Goyal

Reputation: 1455

You can try this:

data=[b'Name,Age,Occupation,Salary\r\nRam,37,Plumber,1769\r\nMohan,49,Elecrician,3974\r\nRahim,39,Teacher,4559\r\n']

processed_data = [x.split(',') for x in data[0].decode().replace('\r', '').strip().split('\n')]
df = pd.DataFrame(columns=processed_data[0], data=processed_data[1:])

Hope it helps.

Upvotes: 1

Raza Ul Haq
Raza Ul Haq

Reputation: 344

I would recommend you to convert this list to string as there is only one index in this list

str1 = ''.join(data)

Then use solution provided here

import sys
if sys.version_info[0] < 3: 
    from StringIO import StringIO
else:
    from io import StringIO

import pandas as pd

TESTDATA = StringIO(str1)
df = pd.read_csv(TESTDATA, sep=",")

Upvotes: 0

Related Questions