对于有些已经存在的Excel,我们只需要添加新的数据即可,不需要overwrite.那么可以利用openpyxl实现这种需求。
首先,需要安装openpyxl
pip install openpyxl
第一种方式:
import openpyxl
from openpyxl import load_workbook
import pandas as pd
file = r"myfile.xlsx"
df = pd.DataFrame({'A': 1, 'B': 2})
wb = load_workbook(file)
ws = wb.worksheets[0] # wb["Sheet1"]
# ws.append只支持参数为列表的数据,所以这里我们进行转换
dlist = dldf2.values.tolist()
for i in range(len(dlist)):
ws.append(dlist[i])
wb.save(file)
wb.close()
第二种方式,与1类似,但是我们使用openpyxl.utils.dataframe 中自带的dataframe_to_rows实现dataframe转list。
import openpyxl
from openpyxl import load_workbook
import pandas as pd
file = r"myfile.xlsx"
df = pd.DataFrame({'A': 1, 'B': 2})
wb = load_workbook(file)
ws = wb.worksheets[0] # wb["Sheet1"]
for row in dataframe_to_rows(df ,header=False, index=False):
ws.append(row)
wb.save(file)
wb.close()
这里主要用到的是openpyxl的worksheet append方法,因为参数必须为列表格式,所以我们将dataframe进行了转换。dataframe.values.tolist(), dataframe_to_rows(dataframe, header=False, index=False)都能够达到我们想要的目的。
这里就给需要的同学分享到这里,下次大家就知道如何将dataframe类型的数据,追加到Excel中了。
喜欢的就点个赞,your likes is my motivation!