如何在python中格式化CSV文件

如何在python中格式化CSV文件,python,csv,export-to-excel,export-to-csv,Python,Csv,Export To Excel,Export To 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 我有一本字典,其中dict[pers

我正在尝试用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

我有一本字典,其中dict[persona]=[class1,class2,class3],但很容易搞乱数据结构。我该怎么做呢?

这不是使用CSV文件的方式。构造数据的正确方法是使用标题

Person,Class
在表格中的行下面

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

您只需在dict中迭代,并在每个人的条目中迭代他们的类,然后对每对对象执行loke
csvfile.writerow([person,class])

通过以下方法,您可以准确获取所显示的格式:

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)

但正如GBOFI所评论的那样,如果csv格式不是一成不变的,那么使用可变长度记录格式可能会更幸运。

你厌倦了什么?你的问题是什么?你不想要那种格式,你想要可变长度的记录
“A,1,2,3\nB,1,2,3,4\nC,1\nD,1,2”
“\n”
是换行符),看看这个模块我宁愿建议一种可变长度的记录格式(
“A,1,2,3”
),但我很感激你努力把OP推向更好的方向。