Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用xlsxwriter在没有数据框的情况下写入excel文件_Python_Python 3.x_Pandas_Xlsxwriter - Fatal编程技术网

Python 如何使用xlsxwriter在没有数据框的情况下写入excel文件

Python 如何使用xlsxwriter在没有数据框的情况下写入excel文件,python,python-3.x,pandas,xlsxwriter,Python,Python 3.x,Pandas,Xlsxwriter,如果我的数据框是空的,那么我只需要创建空的excel文件,并在其中写入所选时间框没有数据 错误: 为什么不简单地在同一个循环中创建它呢 文件夹列表=['San Diego','Vista'] 如果daraframe不为空,则执行以下操作: 对于位置,df.groupby'OfficeLocation'中的d: 对于文件夹列表中的文件夹: 如果文件夹==位置: 如果不是df.empty: writer=pd.excelwriter'\\\\my\username\Documents\Python\

如果我的数据框是空的,那么我只需要创建空的excel文件,并在其中写入所选时间框没有数据

错误:


为什么不简单地在同一个循环中创建它呢

文件夹列表=['San Diego','Vista'] 如果daraframe不为空,则执行以下操作: 对于位置,df.groupby'OfficeLocation'中的d: 对于文件夹列表中的文件夹: 如果文件夹==位置: 如果不是df.empty: writer=pd.excelwriter'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{location}.xlsx',engine='xlsxwriter' 其他: writer=pd.excelwriter'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{folder}.xlsx',engine='xlsxwriter' df_empty=pd.DataFrame{所选时间段没有数据:[]} df_empty.to_excelwriter,index=False 打印“df为空” writer.save
但使用您的方法,您每次都会创建一个新文件

为什么不像这样简单地在同一个循环中创建它呢

文件夹列表=['San Diego','Vista'] 如果daraframe不为空,则执行以下操作: 对于位置,df.groupby'OfficeLocation'中的d: 对于文件夹列表中的文件夹: 如果文件夹==位置: 如果不是df.empty: writer=pd.excelwriter'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{location}.xlsx',engine='xlsxwriter' 其他: writer=pd.excelwriter'\\\\my\username\Documents\Python\Split DataFrame by Multiple dataframes\{folder}\{folder}.xlsx',engine='xlsxwriter' df_empty=pd.DataFrame{所选时间段没有数据:[]} df_empty.to_excelwriter,index=False 打印“df为空” writer.save
但使用您的方法,您每次都会创建一个新文件

您应该添加一张新的工作表:

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()
请参见此处的相关文档:

如果要使用默认的openpyxl引擎,则相应的方法是:

ws = wb.create_sheet()

应改为添加新图纸:

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()
请参见此处的相关文档:

如果要使用默认的openpyxl引擎,则相应的方法是:

ws = wb.create_sheet()

不,在循环的第一部分中,如果dataframe为空,则不会生成文件。如果不是df,则尝试将df.empty:放在该位置,但不会创建任何excel文件。只有在循环开始时才有效。它也可以工作,但我认为您需要将df_empty转换为DataFrame:df_empty=pd.DataFrame{'selated timeframe'没有数据:[]}@Oleg是的,代码已更新。通过勾选复选标记,可以将此awnser标记为已接受。否,在循环的第一部分中,如果dataframe为空,则不会生成文件。如果不是df,则尝试将其放置在该位置。empty:但它不会创建任何excel文件。只有在循环开始时才有效。它也可以工作,但我认为您需要将df_empty转换为DataFrame:df_empty=pd.DataFrame{'selated timeframe'没有数据:[]}@Oleg是的,代码已更新。通过勾选复选标记,可以将此awnser标记为已接受。谢谢,但它会给出一个错误:“工作簿”对象没有“创建工作表”属性您是否承诺使用xlsxwriter作为引擎?我使用的是openpyxl,这个方法有效。如果您不指定引擎,openpyxl是pandas使用的默认引擎。我相信对于xlsxwriter,等效的是。添加_工作表。我将简短地编辑答案是的。那是对的。添加工作表是我所需要的。非常感谢。那么在未来,最好使用什么引擎?`xlsxwriter`或openpyxl?这取决于您的喜好。我之所以这么问是因为我不熟悉xlsxwriter,但只要您对它感到满意,任何一个都应该足够。谢谢,但它给出了一个错误:“工作簿”对象没有属性“创建工作表”您是否承诺使用xlsxwriter作为引擎?我使用的是openpyxl,这个方法有效。如果您不指定引擎,openpyxl是pandas使用的默认引擎。我相信对于xlsxwriter,等效的是。添加_工作表。我将简短地编辑答案是的。那是对的。添加工作表是我所需要的。非常感谢。那么在未来,最好使用什么引擎?`xlsxwriter`或openpyxl?这取决于您的喜好。我问这个问题只是因为我不熟悉xlsxwriter,但只要您对它感到满意,任何一个都应该足够了。