将记录从python保存到CSV,并为每个记录分配多个值

将记录从python保存到CSV,并为每个记录分配多个值,python,csv,Python,Csv,我已经开始了一个项目,试图用python实现基于案例的推理,用于向客户推荐产品。 我需要以这种格式将数据保存到文件中(这些是电子表格单元格的表示形式) 等等。 我似乎找不到任何关于使用这种格式的CSV文件的信息。目前,读取的系统要求记录中的每一行都有一个订单ID。我无法像这样保存系统返回的数据: defaultdict(<type 'list'>, {'O1': ['i23', 'i43', 'i24 ']}) defaultdict(,{'O1':['i23','i43','i2

我已经开始了一个项目,试图用python实现基于案例的推理,用于向客户推荐产品。 我需要以这种格式将数据保存到文件中(这些是电子表格单元格的表示形式)

等等。 我似乎找不到任何关于使用这种格式的CSV文件的信息。目前,读取的系统要求记录中的每一行都有一个订单ID。我无法像这样保存系统返回的数据:

defaultdict(<type 'list'>, {'O1': ['i23', 'i43', 'i24 ']})
defaultdict(,{'O1':['i23','i43','i24']})
我已经通读了python CSV库的相关内容,但无法理解如何进行此操作。非常感谢您提供有关存储信息的数据类型的任何帮助、提示和指针。

对我来说很好:

In [2]: str = StringIO.StringIO()

In [3]: import csv

In [4]: wr = csv.writer(str)

In [5]: wr.writerow(['a', [1, 2]])

In [6]: str.getvalue()
Out[6]: 'a,"[1, 2]"\r\n'

这不是一个真正有效的CSV格式,但我们可以手动执行一些接近它的操作

with open('output.csv', 'w') as dest:
    writer = csv.writer(dest)
    for key, values in data.items():
        writer.writerow([key, values[0]])
        for value in values[1:]:
            writer.writerow([None, value])

谢谢你的回复,我尝试过类似的东西,但我只在excel中查看CSV文件,在一个单元格“O”和它旁边的单元格“1”?我不知道你的“类似的东西”是什么。你试过这个代码吗?很抱歉,我没有我写的代码,但我已经完全试过了,它的行为与上面一样抱歉,调整了答案,现在就试。当循环运行并输出到控制台时,它会根据需要工作。然而,使用CSV编写器,它会在每个数据输入之间留下一个空白行?
with open('output.csv', 'w') as dest:
    writer = csv.writer(dest)
    for key, values in data.items():
        writer.writerow([key, values[0]])
        for value in values[1:]:
            writer.writerow([None, value])