如何在python中为CSV单元格提供两个或两个以上的值

时间:2018-02-08 04:36:37

标签: python python-3.x file-handling

我创建了一个csv文件,并在文件中添加了标题,我也给了标题的值。如何在一个标题中给出2个值,假设在下面的代码中。如果“column3”可以有两个值3和4,并且在CSV文件中是否可以实际看到包含2个值的列?

Headers_of_csv = ["Column1","Column2","Column2"]
csv_writer = csv.DictWriter(mycsv,fieldnames=Headers_of_csv)
  csv_writer.writeheader()
  csv_writer.writerow({"Column1":1,"Column2":2,"Coulmn3":(3,4,5,6)})
                                            #is it possible to assign multiple values here 

CSV表示:

        |Column1|   Column2|  Coulmn3|
Row1    |   1    |   2      |    3    |
        |        |          |    4    |
        |        |          |    5    |
        |        |          |    6    |
_ _ _ _ | _ _ _  |_ _ _ _ _ |_ _ _ _ _|_
Row2       X        X         X

是否可以为coulmn 3分配2个值?

1 个答案:

答案 0 :(得分:1)

CSV只是由分隔符(通常是逗号)分隔的文本。您只需要定义一个可以在同一个单元格中包含两个值的格式,例如

1,2,3::4

的Python

csv_writer.writerow({
    "Column1": 1,
    "Column2": 2,
    "Column3": "%d::%d" % (3,4)
})

<强>更新

您也可以使用str.join

csv_writer.writerow({
    "Column1": "::".join(map(str, [1])),
    "Column2": "::".join(map(str, [2])),
    "Column3": "::".join(map(str, [3, 4]))
})