From 1819c39b36821d3f5974ff3760e25af9c3ce74f0 Mon Sep 17 00:00:00 2001 From: junjun Date: Wed, 28 May 2025 17:14:20 +0800 Subject: [PATCH] feat(datasource): optimize excel nan --- backend/apps/datasource/api/datasource.py | 6 ++++-- frontend/src/views/ds/form.vue | 2 +- frontend/src/views/ds/index.vue | 3 +-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/backend/apps/datasource/api/datasource.py b/backend/apps/datasource/api/datasource.py index 1eff12f9..52b515b7 100644 --- a/backend/apps/datasource/api/datasource.py +++ b/backend/apps/datasource/api/datasource.py @@ -115,7 +115,8 @@ async def upload_excel(session: SessionDep, file: UploadFile = File(...)): create_table(conn, tableName, fields) data = [ - {df.columns[i]: int(row[i]) if "int" in str(df.dtypes[i]) else row[i] for i in range(len(row))} + {df.columns[i]: None if pd.isna(row[i]) else (int(row[i]) if "int" in str(df.dtypes[i]) else row[i]) + for i in range(len(row))} for row in df.values ] # insert data @@ -135,7 +136,8 @@ async def upload_excel(session: SessionDep, file: UploadFile = File(...)): create_table(conn, tableName, fields) data = [ - {df.columns[i]: int(row[i]) if "int" in str(df.dtypes[i]) else row[i] for i in range(len(row))} + {df.columns[i]: None if pd.isna(row[i]) else (int(row[i]) if "int" in str(df.dtypes[i]) else row[i]) + for i in range(len(row))} for row in df.values ] # insert data diff --git a/frontend/src/views/ds/form.vue b/frontend/src/views/ds/form.vue index 24774eb3..30da7e49 100644 --- a/frontend/src/views/ds/form.vue +++ b/frontend/src/views/ds/form.vue @@ -62,7 +62,7 @@ :before-upload="beforeUpload" :on-success="onSuccess" > - Upload + Upload