6.0 生成txt、doc文件

这些JavaScript脚本用于从MySQL数据库中选取数据,利用Mock.js生成随机值,然后将数据写入doc和txt文件。文件名基于随机生成的中文句子,并按一定条件分批写入,生成较大或较小的doc文件。配置文件包含数据库连接信息和文件保存设置。
摘要由CSDN通过智能技术生成

1、生成doc 

file/generate_doc.js

/**
 *
 * @description 拼接mysql字段的值,从中随机取值后,生成doc文件
 */
const fs = require('fs')
const mysql_config = require('../config/mysql_config')
const {connect, read} = require('../mysql/mysql');

(async () => {
    const Mock = require('mockjs')
    let Random = Mock.Random
    let c = await connect(mysql_config.options)
    for (let j = 0; j < 1000; j++) {
        let start = j * 1000
        let end = (j + 1) * 1000
        let sql = `select * from test_data limit ${start},${end}`
        let arr = await read(c, sql)
        let name = Random.csentence(5, 15).replaceAll('。', '')
        for (let i in arr) {
            if (arr.hasOwnProperty(i)) {
                if (parseInt(i) / 100 % 1 === 0 && parseInt(i) !== 0) {
                    break
                } else {
                    fs.writeFile(`${name}.doc`, JSON.stringify(arr[i]), {flag: 'a', encoding: 'utf8'}, err => {
                        if (err) throw err;
                        console.log('The file has been saved!');
                    })
                }
            }

        }
    }
})()

2、生成较大的doc

file/generate_larger_doc.js

/**
 *
 * @description 拼接mysql字段的值,从中随机取值后,生成size比较大的doc文件
 */
const fs = require('fs')
const mysql_config = require('../config/mysql_config')
const {connect, read} = require('../mysql/mysql');

(async () => {
    const Mock = require('mockjs')
    let Random = Mock.Random
    let c = await connect(mysql_config.options)
    for (let j = 0; j < 1000; j++) {
        let start = j * 1000
        let end = (j + 1) * 1000
        let sql = `select * from test limit ${start},${end}`
        let arr = await read(c, sql)
        let name = Random.csentence(5, 15).replaceAll('。', '')
        for (let i in arr) {
            if (arr.hasOwnProperty(i)) {
                if (parseInt(i) / 1000 % 1 === 0 && parseInt(i) !== 0) {
                    break
                } else {
                    console.log(1)
                    fs.writeFile(`${name}.doc`, JSON.stringify(arr[i]), {flag: 'a', encoding: 'utf8'}, err => {
                        if (err) throw err;
                        console.log('The file has been saved!');
                    })
                }
            }
        }
    }
})()

3、生成txt

file/generate_txt.js

/**
 *
 * @description 拼接mysql字段的值,从中随机取值后,生成txt文件
 */
const fs = require('fs')
const mysql_config = require('../config/mysql_config')
const {connect, read} = require('../mysql/mysql');

(async () => {
    const Mock = require('mockjs')
    let Random = Mock.Random
    let c = await connect(mysql_config.options)
    for (let j = 0; j < 1000; j++) {
        let start = j * 1000
        let end = (j + 1) * 1000
        let sql = `select * from test limit ${start},${end}`
        let arr = await read(c, sql)
        let name = Random.csentence(5, 15).replaceAll('。', '')
        for (let i in arr) {
            if (arr.hasOwnProperty(i)) {
                if (parseInt(i) / 100 % 1 === 0 && parseInt(i) !== 0) {
                    break
                } else {
                    fs.writeFile(`${name}.txt`, JSON.stringify(arr[i]), {flag: 'a'}, err => {
                        if (err) throw err;
                        console.log('The file has been saved!');
                    })
                }
            }
        }
    }
})()

4、config/mysql_config.js

module.exports = {
    options: {
        host: 'vm-mysql57.lan',
        user: 'root',
        password: 'wlh123456',
        database: 'data_jimi',
        insert_file: {
            table: 'file',
            path: 'D:\\target',
            field1: 'content',
            field2: 'filename'
        }
    },
    sql_group: {
        es_sql: 'select * from test limit 50000,50600',
        hbase_sql: '',
        mongo_sql: '',
        neo4j_sql: '',
        redis_sql: ''
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值