<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def apply_mflist_budget_obs(list_filename,flx_filename="flux.dat", vol_filename="vol.dat", start_datetime="1-1-1970"):
 """ process a MODFLOW list file to extract flux and volume water budget entries. Parameters list_filename : str the modflow list file flx_filename : str the name of the output file with water budget flux information. Default is "flux.dat" vol_filename : str the name of the output file with water budget volume information. Default is "vol.dat" start_datatime : str an str that can be cast to a pandas.TimeStamp. Used to give observations a meaningful name Returns ------- flx : pandas.DataFrame the flux dataframe vol : pandas.DataFrame the volume dataframe Note ---- requires flopy """

    try:
        import flopy
    except Exception as e:
        raise Exception("error import flopy: {0}".format(str(e)))
    mlf = flopy.utils.MfListBudget(list_filename)
    flx,vol = mlf.get_dataframes(start_datetime=start_datetime,diff=True)
    flx.to_csv(flx_filename,sep=' ',index_label="datetime",date_format="%Y%m%d")
    vol.to_csv(vol_filename,sep=' ',index_label="datetime",date_format="%Y%m%d")
    return flx,vol