【问题标题】:Python: Updating Exported Data to Excel (OpenPyXl)Python:将导出的数据更新到 Excel (OpenPyXl)
【发布时间】:2019-04-22 07:16:16
【问题描述】:
Nested_Array = [['GOOGL', 9822.6], ['FB', 98.25], ['SPY', 1291]]

now = datetime.datetime.now()
Current_Date = (now.strftime('%Y-%m-%d'))

row_start = 1
col_start = 1

ws4.cell(row=row_start, column=col_start + 1).value = Current_Date

for ticker, profit in (Nested_Array):
    ws4.cell(row=row_start + 1, column=col_start).value = ticker
    ws4.cell(row=row_start + 1, column=col_start + 1).value = profit
    row_start += 1

下面的屏幕截图显示了它导出的内容。但是,当我运行程序时,我希望它保存前几天的数据,然后移动到第二天的不同列。

如果可能的话,我希望程序在我运行它时查看它是否仍然是同一天,如果是,它应该只更新它所在的天数列的单元格,而不是移动到新列。虽然,如果不是同一天,我希望它移到第二天。

任何反馈都有帮助!

这是它当前导出的内容:

如果是新的一天,这就是我希望它做的事情:

【问题讨论】:

    标签: python excel python-3.x for-loop openpyxl


    【解决方案1】:

    在 openpyxl 中,您通常应该避免创建自己的计数器,因为它提供了有用的方法来解决这个问题。

    您可能可以这样做:

    col_idx = ws.max_col + 1
    ws.cell(1, col_idx) = CurrentDate
    
    for stock, row in zip(NestedArray, ws.iter_cols(min_col=col_idx, max_col=col_idx, min_row=2):
         row[0].value = stock[1]
    

    【讨论】:

    • 我试过了,它抛出了一堆错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    相关资源
    最近更新 更多