熊猫保存并在循环中读取excel

时间:2018-02-16 10:25:44

标签: excel pandas dataframe

我有一个循环,我调用一个函数,我循环读取一个excel,然后编写并保存它。但最后我只存储了最后一个结果。 作为一个简单的例子

for i in range(3):    
   callfunc(i)

callfunc(i)
    panda open excel
     for j in range(10:13:1)
        write in excel(i,j) in new sheet
    save excel

作为最终结果,我只得到(3,10)(3,11)(3,12)。 似乎当重新打开callfunc中的excel时,excel没有得到保存,但原始的excel被保留了,我不知道为什么。

谢谢!

1 个答案:

答案 0 :(得分:0)

让我们使用单独的sheet_name:

import pandas as pd
import numpy as np
from openpyxl import load_workbook

path = r"~\Desktop\excelData\data.xlsx"

book = load_workbook(path)
for i in range(3):
    writer = pd.ExcelWriter(path, engine = 'openpyxl')
    writer.book = book

    df = pd.DataFrame(x3)

    df.to_excel(writer, sheet_name = '{}__sheet'.format(i))

    writer.save()
    writer.close()