如何将dict的值写入openpyxl中的空(新)列?

时间:2015-07-06 02:15:36

标签: python python-2.7 dictionary openpyxl

给定dict aNewDictEachDay和工作表ws = openpyxl.load_workbook('roi.xlsx', data_only=True).worksheets[0]

ws的第0列(A)包含键。所有其他列都是空的(暂时)。每天,我想加载工作簿,然后更新ws

  1. 将当前日期写入 new 列中的顶部单元格
  2. 对于aNewDictEachDay.values()中的每个值:
    • 如果其键已在第0列中:
      • 将该值写入适当的中 在新列中放置(行)
    • 否则:
      • 将键添加为Column0
      • 中的新行
      • 将该值写入适当的中 在新列中放置(行)
  3. 我通常将openpyxl与已填充列的电子表格一起使用。由于电子表格目前只有一列,其他列(在本例中为B)的概念似乎不存在:

    In [238]: ws.columns
    Out[238]: ((<Cell Sheet1.A1>, <Cell Sheet1.A2),)
    

    如果列已存在,则可以使用openpyxl轻松覆盖其各个单元格的值。但是当列尚未存在时如何完成?

    后:

    for row in aNewDictEachDay.values():
    

    如何以正确的方式使用ws.append()

1 个答案:

答案 0 :(得分:2)

如果您只想添加单个单元格,最好使用Can not subscript a value of tpye {['JSON]} sigh index of type string,这将允许您指定行和列索引。

要插入“B”列:

ws.cell()