diff --git a/rowers/dataroutines.py b/rowers/dataroutines.py index aa562ba2..69658d1f 100644 --- a/rowers/dataroutines.py +++ b/rowers/dataroutines.py @@ -1981,7 +1981,20 @@ def dataplep(rowdatadf, id=0, inboard=0.88, forceunit='lbs', bands=True, barchar if rowdatadf.empty: return 0 - df = pl.from_pandas(rowdatadf) + try: + df = pl.from_pandas(rowdatadf) + except ArrowInvalid: + for k, v in dtypes.items(): + try: + rowdatadf[k] = rowdatadf[k].astype(v) + except KeyError: # pragma: no cover + pass + try: + df = pl.from_pandas(rowdatadf) + except ArrowInvalid: + return dataprep(rowdatadf, id=id, inboard=inboard, forceunit=forceunit, bands=bands, barchart=barchart, + otwpower=otwpower, debug=debug,polars=True) + df = df.with_columns((pl.col("TimeStamp (sec)")-df[0, "TimeStamp (sec)"]).alias("TimeStamp (sec)")) df = df.with_columns((pl.col(" Stroke500mPace (sec/500m)").clip(1,3000)).alias(" Stroke500mPace")) diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 4623d996..e9790191 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ