Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
T
TopJS3API
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Carver_Hu
TopJS3API
Commits
331ec9b7
Commit
331ec9b7
authored
Dec 27, 2019
by
Carver_Hu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
csv脚本
parent
0063ff3e
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1113 additions
and
379 deletions
+1113
-379
confirmation-201912270900.XLSX
confirmation-201912270900.XLSX
+0
-0
confirmation-201912270900.csv
confirmation-201912270900.csv
+492
-0
csv_import.js
csv_import.js
+105
-0
b.txt
fileDemo/b.txt
+0
-0
test.js
test.js
+516
-379
No files found.
confirmation-201912270900.XLSX
0 → 100644
View file @
331ec9b7
File added
confirmation-201912270900.csv
0 → 100644
View file @
331ec9b7
This diff is collapsed.
Click to expand it.
csv_import.js
0 → 100644
View file @
331ec9b7
var
fs
=
require
(
'fs'
);
var
parser
=
require
(
'topsin.parser'
);
var
_
=
require
(
'lodash'
);
var
cl
=
require
(
'console'
);
var
csv_file
=
'./confirmation-201912270900.csv'
//解析csv数据
var
csv_data_parser
=
function
(
csv_file
){
var
file
=
fs
.
openFile
(
csv_file
);
file
.
setCodec
(
'UTF-8'
);
var
csv_str
=
file
.
readAll
();
//解析CSV字符串,变为数组格式
var
csv_data
=
parser
.
parseCsvStr
(
csv_str
);
return
csv_data
};
var
csv_data
=
csv_data_parser
(
csv_file
);
//提取第一行字段名
var
filed_row
=
csv_data
[
0
];
//数据库连接
var
db
=
require
(
'topsin.database'
);
db
.
addConnection
({
database_type
:
'pg'
,
database_host
:
'139.196.104.13:5433'
,
database_name
:
'PMO_TRAINING'
,
database_user
:
'toplinker'
,
database_pwd
:
'TopLinker0510'
},
"MES_DB"
);
//获取字段列表
var
filed_list
=
db
.
query
(
"MES_DB"
,
function
(
query
)
{
return
query
.
getFieldList
(
'sec_production_order_confirmation_1'
);
});
// 查询当前数据库表中是否存在数据
var
check_data_empty
=
db
.
query
(
"MES_DB"
,
function
(
query
)
{
return
query
.
selectMap
({
table
:
'sec_production_order_confirmation_1'
,
field
:
'*'
,
field_format
:{
"tags"
:
'array'
,
attr_data
:
'json'
}
});
});
//查询当前数据库表中已存在的数据长度
var
get_data
=
db
.
query
(
"MES_DB"
,
function
(
query
)
{
return
query
.
selectArrayArray
({
table
:
'sec_production_order_confirmation_1'
,
field
:
'id'
,
field_format
:{
"tags"
:
'array'
,
attr_data
:
'json'
},
// limit:3,
order
:
'id ASC'
,
// order:'id desc',
});
});
//查询
data_length
=
get_data
.
length
cl
.
log
(
'当前数据库表已存在行数:'
+
data_length
);
//最终批量插入的数据
var
total_batch_data
=
[];
//需要插入的字段(字段增加的变化后面再处理)
var
filed_list_insert
=
filed_list
.
slice
(
0
,
filed_row
.
length
+
1
);
//删除第一行的字段名
csv_data
.
shift
();
//处理批量插入的数据格式
csv_data
.
forEach
(
function
(
item1
){
var
obj
=
{}
item1
.
forEach
(
function
(
item2
,
index
){
//得到batchInsertc参数格式
obj
[
filed_list_insert
[
index
+
1
]]
=
item2
;
});
//追加对象
total_batch_data
.
push
(
obj
);
});
//插入字段使不包含id
filed_list_insert
.
shift
();
// 插入数据
var
batch_insert
=
function
(
iData
){
var
result
=
db
.
query
(
"MES_DB"
,
function
(
query
)
{
return
query
.
batchInsert
(
'sec_production_order_confirmation_1'
,
filed_list_insert
,
iData
);
});
}
if
(
_
.
isEmpty
(
check_data_empty
)){
// 第一次是直接插入
batch_insert
(
total_batch_data
);
cl
.
log
(
'本次插入数据:'
+
total_batch_data
.
length
+
' 条'
);
}
else
{
//数据库存在数据就需要进行长度对比来插入新数据
batch_insert
(
total_batch_data
.
slice
(
data_length
));
cl
.
log
(
'本次插入数据:'
+
(
total_batch_data
.
length
-
data_length
)
+
' 条'
);
};
\ No newline at end of file
fileDemo/b.txt
View file @
331ec9b7
No preview for this file type
test.js
View file @
331ec9b7
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment