2017-08-24 33 views
-1

我想在Python中创建一个CSV文件看起来是这样的:如何格式化Python中的CSV文件

Person A Class 1 
      Class 2 
      Class 3 
Person B Class 1 
      Class 2 
      Class 3 
      Class 4 
Person C Class 1 
Person D Class 1 
      Class 2 

我有一本字典,其中字典[人A] = [1类, 2,class 3],但是很容易混淆数据结构。我会如何去做这件事?

+0

你累了什么?你试过的是哪个问题? –

+0

你不想要那种格式,你想要可变长度的记录''A,1,2,3 \ nB,1,2,3,4 \ nC,1 \ nD,1,2“'('”\ n “'是一个换行符), – gboffi

+0

看看[熊猫](http://pandas.pydata.org/)模块 – Deb

回答

1

这不是你将如何使用CSV文件。构建你的数据的正确方法是有一个标题

Person,Class 

,并在形式

A,1 
A,2 
A,3 
B,1 
B,2 
B,3 
B,4 
C,1 
D,1 
D,2 

的行只需将需要通过您的字典和每个人的进入,迭代内迭代通过他们的班级,并为每一对做一些爱好csvfile.writerow([person, class])

+0

我宁愿建议一种可变长度的记录格式('”A,1,2, 3“'),但我感谢你努力推动OP以更好的方式。 – gboffi

0

获取你展示,你可以做完全的格式是:

data = dict() 

data['Person A'] = ['Class 1', 'Class 2', 'Class 3'] 
data['Person B'] = ['Class 1', 'Class 2'] 

outstr = '' 
for key, value in data.items(): 
    left = key 
    for line in value: 
     outstr += left + '\t' + line + '\n' 
     left = ' '*len(key) 

print(outstr) 

但作为gboffi曾这样评价,如果CSV格式并不是一成不变写的,你可能有利用可变长度的记录格式更好的运气。