How to convert a pandas DataFrame to YAML in python

Viewed 4903
import yaml
import pandas as pd

data = ['apple','car','smash','market','washing']
bata = ['natural','artificail','intelligence','outstanding','brain']

df = pd.DataFrame(zip(data,bata),columns=['Data','Bata'])

for columns in df:
    for list in df[columns]:
        text = yaml.dump_all(list)
        print(text)

I used above code but I'm getting each letter printed. How to get good YAML format. Thank you.

1 Answers

You can use yaml.dump to get text in yaml format

>>> import yaml
>>> import pandas as pd
>>> data = ['apple','car','smash','market','washing']
>>> bata = ['natural','artificail','intelligence','outstanding','brain']
>>> df = pd.DataFrame(zip(data,bata),columns=['Data','Bata'])
>>> text = yaml.dump(
    df.reset_index().to_dict(orient='records'),
    sort_keys=False, width=72, indent=4,
    default_flow_style=None)
>>> text
'- {index: 0, Data: apple, Bata: natural}\n- {index: 1, Data: car, Bata: artificail}\n- {index: 2, Data: smash, Bata: intelligence}\n- {index: 3, Data: market, Bata: outstanding}\n- {index: 4, Data: washing, Bata: brain}\n'
Related