XlsxWriter 从特定单元格开始写入数据帧
XlsxWriter write data frame starting from specific cell
我正在使用 xlsxwriter
创建一个 Excel 文件。目前,我正在做这样的事情:
import datetime
import pandas as pd
import xlsxwriter
workbook = xlsxwriter.Workbook('Test.xlsx')
worksheet = workbook.add_worksheet()
datetime_format = workbook.add_format({
'font_size': 12
})
worksheet.write('C2', datetime.datetime.now().strftime("%Y-%m-%d %H:%M"), datetime_format)
# Rest removed for brevity. I simply have many stuff that
# I manually write to make the design as I want.
workbook.close()
writer = pd.ExcelWriter('Test.xlsx', engine='xlsxwriter')
result.to_excel(writer, startrow=6, startcol=3) # Start from D7.
writer.save()
现在,这似乎重写了我以前使用 xlsxwriter
手动编写的所有内容。另外,我注意到 xlsxwriter
默认情况下不支持写入数据帧,对吗?我怎样才能结合 xlsxwriter
和 pandas
手动编写一些东西来做 Excel sheet,然后再从特定的单元格开始写所有数据框的东西?
你需要改变一下。我还建议阅读 XlsWritter documentation 以了解如何将其与 pandas 一起使用。
writer = pd.ExcelWriter('Test.xlsx', engine='xlsxwriter')
workbook = writer.book
result.to_excel(writer, sheet_name='Sheet1', index=False, startrow=6, startcol=3) # Start from D7.
worksheet = writer.sheets['Sheet1']
datetime_format = workbook.add_format({
'font_size': 12
})
worksheet.write('C2', datetime.datetime.now().strftime("%Y-%m-%d %H:%M"), datetime_format)
writer.save()
首先,我们使用 pd.ExcelWriter()
并传递 xlswriter
作为引擎来创建编写器对象。一旦我们有了我们的作者,我们就可以使用 .book
class 变量访问我们的工作簿。这时候,我们可以使用df.to_excel()
将我们的数据写入我们的工作簿。我们将使用 to_excel
的 sheet_name
参数来创建和命名我们的作品 sheet。在这一点上,我们可以使用 .sheets
class 变量并将我们的 sheet 名称作为键传递给我们的工作 sheet - 在我们的例子中是 Sheet1
.
从那里您可以使用或不使用 pandas 对象向您的 sheet 写入额外的值 - 如下面的代码所示。
我正在使用 xlsxwriter
创建一个 Excel 文件。目前,我正在做这样的事情:
import datetime
import pandas as pd
import xlsxwriter
workbook = xlsxwriter.Workbook('Test.xlsx')
worksheet = workbook.add_worksheet()
datetime_format = workbook.add_format({
'font_size': 12
})
worksheet.write('C2', datetime.datetime.now().strftime("%Y-%m-%d %H:%M"), datetime_format)
# Rest removed for brevity. I simply have many stuff that
# I manually write to make the design as I want.
workbook.close()
writer = pd.ExcelWriter('Test.xlsx', engine='xlsxwriter')
result.to_excel(writer, startrow=6, startcol=3) # Start from D7.
writer.save()
现在,这似乎重写了我以前使用 xlsxwriter
手动编写的所有内容。另外,我注意到 xlsxwriter
默认情况下不支持写入数据帧,对吗?我怎样才能结合 xlsxwriter
和 pandas
手动编写一些东西来做 Excel sheet,然后再从特定的单元格开始写所有数据框的东西?
你需要改变一下。我还建议阅读 XlsWritter documentation 以了解如何将其与 pandas 一起使用。
writer = pd.ExcelWriter('Test.xlsx', engine='xlsxwriter')
workbook = writer.book
result.to_excel(writer, sheet_name='Sheet1', index=False, startrow=6, startcol=3) # Start from D7.
worksheet = writer.sheets['Sheet1']
datetime_format = workbook.add_format({
'font_size': 12
})
worksheet.write('C2', datetime.datetime.now().strftime("%Y-%m-%d %H:%M"), datetime_format)
writer.save()
首先,我们使用 pd.ExcelWriter()
并传递 xlswriter
作为引擎来创建编写器对象。一旦我们有了我们的作者,我们就可以使用 .book
class 变量访问我们的工作簿。这时候,我们可以使用df.to_excel()
将我们的数据写入我们的工作簿。我们将使用 to_excel
的 sheet_name
参数来创建和命名我们的作品 sheet。在这一点上,我们可以使用 .sheets
class 变量并将我们的 sheet 名称作为键传递给我们的工作 sheet - 在我们的例子中是 Sheet1
.
从那里您可以使用或不使用 pandas 对象向您的 sheet 写入额外的值 - 如下面的代码所示。