【问题标题】:Storing data from a for loop in excel python在excel python中存储来自for循环的数据
【发布时间】:2021-07-28 16:00:22
【问题描述】:

想将for循环中的所有数据存储在excel文件中,目前只存储最后一个输出:

import pandas
import openpyxl

outputFile = 'outputData.xlsx'
    
workbook = openpyxl.load_workbook(os.getcwd() + '/sourceData.xlsx')
    
sheet = workbook["Sheet1"]
    
for i in range(2, sheet.max_row + 1):
       <I do some ops to copy the data>
       data = pyperclip.paste() #Want this data to be stored in the outPut excel, there is different input for every cell, so there will also be different output
       df = pd.DataFrame({'Address':[mapData]})
       df2 = pd.DataFrame()
       df2 = df2.append(df, ignore_index=True, sort=False)
    
writer = ExcelWriter(outputFile)
df2.to_excel(writer,'Sheet1',index=False)
writer.save()

【问题讨论】:

    标签: python excel pandas for-loop openpyxl


    【解决方案1】:

    只需将df2 首次初始化移出循环:

    ...
    # define df2 here, just once
    df2 = pd.DataFrame()
    for i in range(2, sheet.max_row + 1):
           ... # your operations
           df = pd.DataFrame({'Address':[mapData]})
           # append df2 immediately after generation of df
           df2 = df2.append(df, ignore_index=True, sort=False)
    
    # save as before
    writer = ExcelWriter(outputFile)
    df2.to_excel(writer,'Sheet1',index=False)
    writer.save()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多