# Set the working folder to the same folder as the script
os.chdir(os.path.dirname(os.path.abspath(__file__)))
test = send_request().content
df = pd.read_csv(io.StringIO(test.decode('utf-8')))
writer = pd.ExcelWriter('NHL_STATS_JSB_final.xlsx', \
engine = 'xlsxwriter')
df.to_excel(writer, 'Player statistics', index=False)
writer.save()
我不明白为什么,但我试图将工作表Player statistics
添加到我当前的NHL_STATS_JSB_final.xlsx
文件中,但它不起作用。我的代码没有将工作表添加到文件中,而是使用当前文件并删除所有以前的工作表来添加新的工作表。
如何将Player statistics
添加到当前的Excel文件并删除所有其他工作表?
3条答案
按热度按时间gstyhher1#
下面是我的一个项目的代码片段。这应该完全符合你的要求。您需要使用openpyxl而不是xlsxwriter来允许您更新现有文件。
[更新-九月。[2023]现在实现这一目标的一个更新、更好的方法是:
以下是ExcelWriter文档的链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.ExcelWriter.html
sauutmhj2#
正如OP所提到的,xlsxwriter将覆盖您现有的工作簿。Xlsxwriter用于编写原始的.xlsx文件。另一方面,OpenPyxl可以修改现有的.xlsx文件。
@布拉德坎贝尔回答使用openpyxl是最好的方法。由于OP使用的是xlsxwriter引擎,我想演示一下,可以读取现有的.xlsx文件,然后创建一个新的工作簿(同名),其中包含原始工作表和您想要添加的新工作表中的数据。
n7taea2i3#