简体   繁体   English

如何使用 xlsxwriter 在没有 dataframe 的情况下写入 excel 文件

[英]how to write into excel file without dataframe using xlsxwriter

If my dataframe is empty then I simply need to create empty excel file and write in it "There is no data for selected timeframe "如果我的 dataframe 是空的,那么我只需要创建空的 excel 文件并在其中写入"There is no data for selected timeframe "

folder_list = ['San Diego', 'Vista']
if not df.empty:
    # if daraframe is not empty then do this:
    for location, d in df.groupby('OfficeLocation'):
        for folder in folder_list:
            if folder == location: 
                writer=pd.ExcelWriter(f'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{location}.xlsx',engine='xlsxwriter')                  
            else: 
                print('df is empty')
            writer.save()
# if dataframe is empty I need to create empty excel file and wirte in cell A1 "There is no data for seleted timeframe"
else:
    for folder in folder_list:
        # this creates empty file with sheet name 'Sheet1'
        writer=pd.ExcelWriter(f'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{folder}.xlsx',engine='xlsxwriter') 
        wb = writer.book
        ws = writer.sheets['Sheet1'] # this gives me an error
        writer.save()

Error:错误:

Traceback (most recent call last):
  File "\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\tempCodeRunnerFile.py", line 41, in <module>
    ws = writer.sheets['Sheet1'] # this gives me an error
KeyError: 'Sheet1'

You should be adding a new sheet instead:您应该改为添加新工作表:

for folder in folder_list:
    # this creates empty file with sheet name 'Sheet1'
    writer=pd.ExcelWriter(f'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{folder}.xlsx', engine='xlsxwriter') 
    wb = writer.book
    ws = wb.add_worksheet() # change to this
    writer.save()

See relevant documentation here: https://xlsxwriter.readthedocs.io/workbook.html#add_worksheet在此处查看相关文档: https://xlsxwriter.readthedocs.io/workbook.html#add_worksheet

If you were to user the default openpyxl engine, then the respective method is:如果您要使用默认的openpyxl引擎,那么相应的方法是:

ws = wb.create_sheet()

Why you don't simply create it in the same loop like this.为什么你不像这样简单地在同一个循环中创建它。

folder_list = ['San Diego', 'Vista']

# if daraframe is not empty then do this:
for location, d in df.groupby('OfficeLocation'):
    for folder in folder_list:
        if folder == location:
           if not df.empty: 
                writer=pd.ExcelWriter(f'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{location}.xlsx',engine='xlsxwriter')                  
            else:
                writer=pd.ExcelWriter(f'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{folder}.xlsx',engine='xlsxwriter') 
                df_empty = pd.DataFrame({"There is no data for seleted timeframe" : []})
                df_empty.to_excel(writer, index=False)
                print('df is empty')
            writer.save()

But with your method you create a new file each times.但是使用您的方法,您每次都会创建一个新文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 xlsxwriter(没有熊猫)将一组列表写入 Excel? - How to write a set of lists to Excel using xlsxwriter (without pandas)? 使用 xlsxwriter 将 dataframe 导出到 excel 文件 - Export dataframe to excel file using xlsxwriter 如何使用 xlsxwriter 将数据写入 xlsx 文件? - How data write in xlsx file using xlsxwriter? 如何使用 xlsxwriter(不使用 Pandas)在 Excel 文件中添加列标题? - How to add column header in an Excel file using xlsxwriter (without using Pandas)? 如何使用 XlsxWriter 将带有分隔线的 Dataframe 导出到 Excel - How to export a Dataframe to Excel with divider lines using XlsxWriter 如何使用 xlsxwriter 模块在多个单元格中的 excel 中动态编写公式? - How to write formula dynamically in excel in multiple cells using xlsxwriter module? 如何使用“xlsxwriter”而不是“openpyxl”写入具有多个工作表的 excel? - How to write to an excel with multiple worksheets using “xlsxwriter” and not “openpyxl”? python:xlsxwriter 添加 dataframe + 公式到 excel 文件 - python: xlsxwriter adding dataframe + formula to excel file 使用xlsxwriter 将pandas df 写入excel 文件? - Write pandas df into excel file with xlsxwriter? 迭代多个Dataframe并在excel xlsxwriter python中写入excel电子表格 - Iterate multiple Dataframe and write into excel spreadsheets within an excel xlsxwriter python
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM