I want to create a CSV file like this:
JavaScript
x
5
1
Features, Value
2
f1, 1
3
f2, 2
4
f3, 3
5
But I get this:
JavaScript
1
3
1
f1, f2, f3
2
1, 2, 3
3
The code I wrote:
JavaScript
1
6
1
my_dict = {'f1': 1, 'f2': 2, 'f3': 3}
2
with open('testcsv.csv', 'w') as f:
3
w = csv.DictWriter(f, my_dict.keys())
4
w.writeheader()
5
w.writerow(my_dict)
6
What should I do?
Advertisement
Answer
You would need to first transform your data according to the expected structure
JavaScript
1
2
1
data = [{'Features':i,'Value':my_dict[i]} for i in my_dict]
2
Once you do that you could use pandas to save it as CSV like so :
JavaScript
1
4
1
import pandas as pd
2
df = pd.DataFrame(data)
3
df.to_csv('testcsv.csv',index=None)
4
The resulting csv :
JavaScript
1
5
1
Features,Value
2
f1,1
3
f2,2
4
f3,3
5