2016-07-06 24 views
-1

私はdfにいくつかの条件を使用していますが、すべての変形は1つのExcelファイル(および1枚のシート)に書き込みを試みます。 私はコードfrom questionを使用し、私のDFは上書きせずにExcelにデータを書き込む方法

for i, (id, date, url, id1, date1) in enumerate(zip(ids, dates, urls, ids1, dates1)): 
    df_upd = df[(df['ID'] == ids1[i]) & (df['used_at'] < (dates1[i] + dateutil.relativedelta.relativedelta(days=5)).replace(hour=0, minute=0, second=0)) & (df['used_at'] > (dates1[i] - dateutil.relativedelta.relativedelta(months=1)).replace(day=1, hour=0, minute=0, second=0))] 

と私はコード

book = load_workbook('report_buy.xlsx') 
writer = pd.ExcelWriter('report_buy.xlsx', engine='openpyxl') 
writer.book = book 
writer.sheets = dict((ws.title, ws) for ws in book.worksheets) 
df_upd.to_excel(writer) 

を使用しますが、それは私のファイルを上書きした後です。そこに何が問題なの?

答えて

0

セルの内容を更新することはできません。読み込むファイルを開くか、書き込む新しいファイルを開くことができます。私はあなたが新しいブックを作成しなければならないと思う、あなたがそれを変更しないことを選択した場合は、あなたが読んだすべてのセルは、あなたの新しいブックに書き出します。サンプルコードでは、wb(書き込みに使用された)でwb(読み込みに使用)を上書きしています。 forループから引き出し、別の名前を割り当てます。

import openpyxl 
xfile = openpyxl.load_workbook('test.xlsx') 
sheet = xfile.get_sheet_by_name('Sheet1') 
sheet['A1'] = 'hello world' 
xfile.save('text2.xlsx') 

は、私は以下のリンク herehere

を、これらを発見しました
関連する問題