程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何轻松地将数百个条目插入到 SQLite 数据库中,并由特定字符分隔?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何轻松地将数百个条目插入到 SQLite 数据库中,并由特定字符分隔??

开发过程中遇到如何轻松地将数百个条目插入到 SQLite 数据库中,并由特定字符分隔?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何轻松地将数百个条目插入到 SQLite 数据库中,并由特定字符分隔?的解决方法建议,希望对你解决如何轻松地将数百个条目插入到 SQLite 数据库中,并由特定字符分隔?有所启发或帮助;

我是 sqlite 的新手,所以请耐心等待。我有一个已建立的 SQLite 数据库,其中已经有一个表,其中有四列(名字、姓氏、年龄、位置)。我有一个这样的列表,我想添加到数据库中:

ABC | DEF | 16 | Ontario,Canada
BCD | EFG | 17 | California,United States
CDE | FGH | 18 | London,United Kingdom

(以此类推,对于数百个书面条目,以 | 分隔并以纯文本格式保存。)

是否有一种简单的方法可以将它们全部添加到 SQLite 数据库中?通过从文本文件中读取,或通过将条目复制并粘贴到文本框中。也许通过 sql 控制台本身,或者 Python 或 Node.Js 脚本,或者其他易于安装在 PC 上或在浏览器中运行的东西。它只是一个项目的本地。谢谢!!

解决方法

您可以对一系列参数使用 executemany 来执行此操作,在本例中是一个函数,可逐行生成文本文件。

def iter_data():
    with open("some_file.txt","r") as fin:
        for row in fin:
            yield row.split("|")


con = sqlite3.connect("some_db")
query = """
INSERT INTO my_table(first_name,last_name,age,LOCATIOn) VALUES (?,?,?)
"""

with con:
    conn.executemany(query,iter_data())

con.close()

您可以阅读有关 here 的更多信息。您可能需要包含正确的错误处理、类型强制等。但希望您了解需要做什么。

,

是的,实际上有一些在线工具可以做到这一点 首先,您需要将其转换为 csv 格式,在您的情况下,这只是更改分隔符并为其提供标题并使用工具

喜欢https://konbert.com/convert/csv/to/sqlite

或者这个java工具:https://www.rebasedata.com/convert-csv-to-sqlite-online

,

我有一个 NodeJS 和 sqlite 的解决方案:

var inputFilename='input.txt';
var dbName='sample.db';


var fs = require('fs');
const sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(dbName);
var input = fs.readFileSync(inputFileName);


//creates the table
function createdb(){
  db.run(`create table IF NOT EXISTS myTable(attr1 VARCHAR(64),attr2 VARCHAR(64),attr3 VARCHAR(64),attr4 VARCHAR(64))`);
}

//insert a single line
function insertSingleRow(param1,param2,param3,param4){
  var stmt=db.prepare(`INSERT INTO myTable(attr1,attr2,attr3,attr4) VALUES (?,?)`);
  stmt.run(param1,param4);
  stmt.finalize();
  console.log("Row inserted");
}

//SELEct and print all record from the table
function sqlSELEct(){
  db.all("SELECT attr1,attr4 FROM myTable",function(err,rows) {
    rows.forEach(function (row) {
      console.log(row.attr1,row.attr2,row.attr3,row.attr4);
    })
    });
}

//parses the input file and inserts all linE into the table
function parseFileAndinsert(){
  var lines=input.toString().split("\n");
  for(i in lines){
    if(i<lines.length-1){
      var inputValues=lines[i].split("|");
      insertSingleRow(inputValues[0],inputValues[1],inputValues[2],inputValues[3]);
    }
  }
}

//executes the table creation,parsing of the file
db.serialize(function() {
  createdb();
  parseFileAndinsert();

  // for evaluation
  // sqlSELEct();
});

大佬总结

以上是大佬教程为你收集整理的如何轻松地将数百个条目插入到 SQLite 数据库中,并由特定字符分隔?全部内容,希望文章能够帮你解决如何轻松地将数百个条目插入到 SQLite 数据库中,并由特定字符分隔?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。