Skip to content

Commit 1819c39

Browse files
committed
feat(datasource): optimize excel nan
1 parent 2d282ef commit 1819c39

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

backend/apps/datasource/api/datasource.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ async def upload_excel(session: SessionDep, file: UploadFile = File(...)):
115115
create_table(conn, tableName, fields)
116116

117117
data = [
118-
{df.columns[i]: int(row[i]) if "int" in str(df.dtypes[i]) else row[i] for i in range(len(row))}
118+
{df.columns[i]: None if pd.isna(row[i]) else (int(row[i]) if "int" in str(df.dtypes[i]) else row[i])
119+
for i in range(len(row))}
119120
for row in df.values
120121
]
121122
# insert data
@@ -135,7 +136,8 @@ async def upload_excel(session: SessionDep, file: UploadFile = File(...)):
135136
create_table(conn, tableName, fields)
136137

137138
data = [
138-
{df.columns[i]: int(row[i]) if "int" in str(df.dtypes[i]) else row[i] for i in range(len(row))}
139+
{df.columns[i]: None if pd.isna(row[i]) else (int(row[i]) if "int" in str(df.dtypes[i]) else row[i])
140+
for i in range(len(row))}
139141
for row in df.values
140142
]
141143
# insert data

frontend/src/views/ds/form.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
:before-upload="beforeUpload"
6363
:on-success="onSuccess"
6464
>
65-
<el-button>Upload</el-button>
65+
<el-button :disabled="!isCreate">Upload</el-button>
6666
<template #tip>
6767
<div class="el-upload__tip">
6868
Only support .xls, .xlsx, .csv, size less than 50MB.

frontend/src/views/ds/index.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@
2727
<div class="connection-actions">
2828
<el-button class="action-btn" circle @click="getTables(ds.id, ds.name)" :icon="List"/>
2929
<el-button class="action-btn" circle @click="editTables(ds)" :icon="CreditCard"/>
30-
<el-button v-if="ds.type !== 'excel'" type="primary" class="action-btn" circle @click="editDs(ds)"
31-
:icon="IconOpeEdit"/>
30+
<el-button type="primary" class="action-btn" circle @click="editDs(ds)" :icon="IconOpeEdit"/>
3231
<el-button type="danger" class="action-btn" circle @click="deleteDs(ds)" :icon="IconOpeDelete"/>
3332
</div>
3433
</DatasourceItemCard>

0 commit comments

Comments
 (0)