SQLite实用武器库(2)利用import命令导入导出数据到CSV文件

python SQLite数据库基本操作 python简单操作SQLite数据库,实现简单的增加、修改、查询、删除功能。 阅读详情

(1)什么是csv文件?

CSV,即Comma-Separated Values,意思是逗号分隔值,或字符分隔值。.csv文件是一种将表数据借助字符分隔的方式存储成文本的文件格式。譬如,可以在excel中另存为csv文件。我们先来试一个,创建一个excel文件,内容如下:

ABC
0name0des0
1name1des1
2name2des2

另存,选择格式为csv,会弹窗要求输入分隔符,输入“|”,得到文本文件,用文本浏览器查看内容如下:
0|name0|des0
1|name1|des1
2|name2|des2

(2)如何将SQLite数据库表导出到csv文件?

先用show命令看一下当前SQLite用户shell中的设置,其中包含分隔符:

sqlite> .show
        echo: off
         eqp: off
  explain: off
     headers: off
        mode: list
   nullvalue: ""
      output: stdout
colseparator: "|"
rowseparator: "\n"
       stats: off
       width: 

看到分隔符为“|”。可以使用separator命令来指定分隔符:

sqlite> .separator ,
sqlite> .separator |
sqlite> 

导出到csv的原理很简单,将SQLite输出重定向到.csv文件,然后执行select。同样,使用ouput命令,无需手动创建输出的文件,直接输入文件名作为output命令参数即可:

sqlite> select * from test_table;
0|name0|des0
1|name1|des1
2|name2|des2
sqlite> 
sqlite> .output test_csv.csv
sqlite> select * from test_table;
sqlite> .output stdout

好,查看test_csv.csv文件内容:
0|name0|des0
1|name1|des1
2|name2|des2
因为这种方式其实只是重定向了输出,执行的是SQL,所以可以满足各种数据组合、筛选等需求。

(3)如何将csv文件导入到SQLite数据库?

使用import命令(.import [file][table]):

sqlite> delete from test_table;
sqlite> 
sqlite> select * from test_table;
sqlite> 
sqlite> .import test_csv.csv test_table
sqlite> 
sqlite> select * from test_table;
0|name0|des0
1|name1|des1
2|name2|des2
sqlite> 

如果数据库中没有这个表,import命令会直接创建表吗?yes。

sqlite> .import test_csv.csv test_table2
sqlite> 
sqlite> select * from test_table2;
1|name1|des1
2|name2|des2
sqlite> 
sqlite> .schema test_table2
CREATE TABLE test_table2(
  "0" TEXT,
  "name0" TEXT,
  "des0" TEXT
);

看到使用import将csv文件导入到一个不存在的表时,会自动创建这个表,但是会把第一行解析成表信息,并且每个字段都会定义成TEXT。
另外,注意,csv文件的字段分隔符需要与SQLite用户shell中的设置一致。将test_csv.csv文件分隔符改一下测试一下:
0,name0,des0
1,name1,des1
2,name2,des2

sqlite> delete from test_table;
sqlite> 
sqlite> select * from test_table;
sqlite> 
sqlite> .import test_csv.csv test_table
test_csv.csv:1: expected 3 columns but found 1 - filling the rest with NULL
test_csv.csv:1: INSERT failed: datatype mismatch
test_csv.csv:2: expected 3 columns but found 1 - filling the rest with NULL
test_csv.csv:2: INSERT failed: datatype mismatch
test_csv.csv:3: expected 3 columns but found 1 - filling the rest with NULL
test_csv.csv:3: INSERT failed: datatype mismatch
sqlite> 
sqlite> select * from test_table;
sqlite> 
无涯教程-SQLite - 导入数据 您可以使用SQLite3工具和.import命令CSV文件导入SQLite表。此命令接受文件名和表名。此处,文件名是从中提取数据文件,表名是将数据导入到的表。如果没有表格,它将根据CSV文件中的数据自动创建表格。 阅读详情

相关推荐

QT中sqlite插入记录中自增长字段的创建和错误处理

很多表中的我们需要一个自增长字段,这个字段有的时候还是主字段,这些自增长字段往往给我们的记录的插入操作带来某些困难。这里从自定义字段的创建、插入、已经插入时的注意事情和遇到的错误系统的来说一说。

河西~石头 3803

importlite:将CSV文件导入SQLite数据

ImportLite:将CSV文件导入SQLite数据ImportLite是用于将CSV文件导入SQLite命令实用程序。 它既可以从头开始创建表,也可以将数据加载到现有表中。 它还提供高级功能,包括值预处理和数据规范化。 ##目录 命令行参数 架构文件 列 桌子 外键 测验 安装与注意事项 需要Python 2.7或3.2+ 经过SQLite 3.7版测试 与UTF-8编码文件兼容。 使用Python的软件包管理器pip从命令行进行安装。 --pre标志是必需的,因为importlite仍处于预发布阶段; 最新版本是0.1.0。 $ pip install --pre importlite 如果没有pip,也可以从源代码安装: $ git clone https://github.com/KatrinaE/importlite importlite $ cd impo

自动化资产侦察与武器库部署:红蓝对抗中的效率革命

在网络安全领域,资产侦察与信息收集是渗透测试和红蓝对抗的基础环节。其核心原理在于通过自动化工具链和工作流,将离散的侦察步骤串联成高效流水线,从而实现对目标资产的全面、精准发现。这项技术的核心价值在于,它能将安全人员从重复繁琐的手动操作中解放出来,极大提升在大型、复杂网络环境下的作战效率。典型的应用场景包括企业外部攻击面管理、内部资产盘点和持续威胁监控。通过整合子域名枚举、网络空间测绘、指纹识别等模块,自动化侦察系统能够快速构建目标资产画像,并为后续的漏洞扫描与武器库部署提供精准输入,最终实现从发现到初步攻击

weixin_33850890的博客 379

sqlite3

平时使用官方提供的sqlite3.exe工具来操作 sqlite数据库,可以在网上下到。 进入管理: sqlite3.exe d:\test.db //假设数据是 d:\test.db .databases //显示所有数据库 和 mysql的 show databases;  .tables //显示当前数据库的表格 和 mysql 的show tables;  .schment table...

遇见绿水的博客 431

SQLite3 导出\导入CSV文件

SQLite3 导出\导入CSV文件

林胖的专栏 2653

Python CSV数据处理实战:从编码问题到性能优化全解析

CSV(逗号分隔值)作为一种通用的表格数据交换格式,其核心原理是通过纯文本和特定分隔符来结构化存储数据。在数据处理领域,CSV因其简单性和跨平台兼容性成为数据交换的基石技术。从技术价值看,高效处理CSV能打通数据孤岛,实现原始数据到分析就绪数据的快速转换,直接影响数据分析效率。在实际应用场景中,无论是网站日志分析、传感器数据采集还是财务报表处理,CSV都是常见的数据载体。针对这些场景,Python提供了从轻量级内置csv模块到功能强大的pandas库的完整解决方案。特别是在处理包含中文内容的文件时,编码问题

weixin_30918633的博客 571

Nuclei POC全生命周期管理方案:构建高效漏洞验证武器库

在安全测试与漏洞验证领域,POC(概念验证)是验证漏洞真实性的关键技术手段。其核心原理是通过模拟攻击代码,确认目标系统是否存在特定安全缺陷。随着社区驱动的漏洞验证框架如Nuclei的普及,海量POC模板的管理成为提升测试效率的关键。有效的POC管理方案能确保模板的可用性、可检索性与可维护性,从而将安全测试从低效的‘地毯式轰炸’升级为精准的‘外科手术’。这不仅能显著提升漏洞验证的准确性和速度,还能优化团队协作流程。本文聚焦于Nuclei POC的管理实践,详细阐述如何通过设计清晰的目录结构、制定命名规范、建立

weixin_34043301的博客 371

Python 3.11 批量处理 200+ 英文人名:音标提取与中文翻译自动化脚本

本文介绍如何使用Python 3.11构建自动化脚本,批量处理200+英文人名的音标提取与中文翻译。通过模块化设计,结合本地库与在线API,实现高效、准确的数据处理,显著提升工作效率。适用于数据分析、人力资源等场景,支持CSV/TXT/Excel多种输入格式。

weixin_34342207的博客 445

海康威视配置文件解密工具:原理、应用与自动化运维实践

在安防系统运维和集成开发中,配置文件管理是基础且关键的环节。对称加密技术常用于保护设备配置的完整性与隐私,防止未授权篡改。理解其加解密原理,有助于实现配置数据的可读性与可控性,从而提升运维效率与自动化水平。通过逆向工程分析,社区开发了针对特定设备配置文件的解密工具,使技术人员能够将加密配置转换为可读的XML格式。这一过程不仅支持设备迁移、批量审计和故障排查,还为二次开发提供了结构化数据基础。在实际应用中,结合脚本批量处理与信息提取,可大幅简化大规模设备的管理工作,例如自动化提取IP地址、通道参数等关键信息,

weixin_30785593的博客 423

从Excel透视表到Python爬虫:搭建商业数据分析的完整实战技能栈

商业数据分析是运用数据解决商业问题的系统性思维框架,其核心流程涵盖问题定义、数据获取、清洗处理、分析建模与决策建议。在技术实现层面,数据透视表作为快速多维分析工具,能极大提升日常报表效率;而数据库(如MySQL/SQLite)通过SQL语言实现了数据的规范化存储与管理,为分析提供可靠来源。当内部数据不足时,Python爬虫技术可合规拓展外部数据边界,结合Pandas库的自动化处理能力,共同构建起从数据采集、处理到洞察的完整工作流。掌握这套组合技能,能有效应对销售诊断、用户行为分析等实际场景,实现从数据到商业

weixin_30735745的博客 369

DuckDB实战指南:用嵌入式分析数据库替代pandas和集群

DuckDB是一种面向OLAP场景的嵌入式列式分析数据库,其核心原理在于列式存储、向量化执行与零配置设计,天然适配现代CPU的SIMD指令集和多核并行能力。相比传统pandas数据处理或分布式集群方案,它在单机环境下即可实现TB级数据亚秒级聚合,显著降低运维复杂度与内存开销。技术价值体现在开发效率跃升(Jupyter直连、SQL即代码)、资源成本锐减(16GB笔记本跑100GB Parquet)及生产就绪性增强(自动溢出管理、S3原生支持)。典型应用场景包括ETL加速、临时分析、报表Pipeline构建及数

weixin_34167819的博客 674

Python数据分析与科学计算实战技巧

数据分析与科学计算是通过数学和编程工具从海量信息中提取洞见的过程,广泛应用于气象预测、电商优化等领域。现代数据分析技术栈以Python生态为核心,包括NumPy、Pandas等工具,能高效处理多维数组和复杂统计任务。性能优化是关键,如使用numba加速计算函数,或通过优化数据类型降低内存消耗。科学计算的数学基石如线性代数和概率统计,在图像识别和A/B测试中有重要应用。实际项目中,数据预处理和模型构建(如XGBoost)能显著提升预测精度。内存管理和报错解决方案也是工程实践中的重要环节。

weixin_30314793的博客 488

Azure渗透测试实战:从信息收集到数据外泄的完整工具链指南

云安全渗透测试是保障企业云环境安全的关键环节,其核心原理在于识别和利用云服务配置中的安全弱点。在Azure云环境中,攻击面从传统网络扩展到身份、存储、计算等多维度服务,使得安全测试技术价值显著提升。通过自动化工具进行信息收集、权限提升和横向移动,能够高效发现如存储账户公开访问、权限配置错误等高风险问题。本文聚焦Azure AD枚举、订阅资源侦察及漏洞利用等实战场景,系统介绍AzureHound、MicroBurst等工具链在云渗透测试中的组合应用,帮助安全团队构建从外部侦察到数据提取的完整攻击模拟能力。

weixin_30613727的博客 351

Sqlite语法

从代码了解语法#-*- coding: UTF-8 -*- import sqlite3 #导入模块 import os #DB_FILE_PATH = '../src/喜马拉雅/test.db' #定义一个数据文件 conn = sqlite3.connect(DB_FILE_PATH)# 连接数据库,如果没有的话就先创建一个数据库 cu=conn.cursor()#创建游标,以后很多操作都需

jayandchuxu的专栏 427

SQLite数据库中的数据导出CSV文件

111

qi704169722的博客 1万+

python 操作SQLite3数据库的方法

一、概述            从Python3.x版本开始,在标准库中已经内置了SQLlite3模块,它可以支持SQLite3数据库的访问和相关的数据库操作。在需要操作SQLite3数据数据时,只须在程序中导入SQLite3模块即可。Python语言操作SQLite3数据库的基本流程如...

本博客分享软硬件一体化开发实战。硬件涵盖 PCB 设计、STM32 等 MCU 底层开发;软件包含 C++、Rust,Qt/QML、PyQt、Slint、TouchGFX、LVGL 各类 GUI 框架。方便软硬件开发者查阅学习。欢迎关注! 2万+

sqlite数据导入 导出

数据导入的来源可以是其他应用程序的输出,也可以是指定的文本文件,这里采用指定的文本文件。 1. 首先,确定导入数据源,这里是待导入的,按固定格式的文本文件2. 然后,依照导入文件格式,确定想导入的目标数据表,这个数据表如果没有,可以依照待导入的文本文件格式,创建一个相对应的数据表。 3. 最后,执行.import命令,将文本文件数据导入数据表中。1. 数据源 在...

angchanghui2104的博客 1278

如何将文档导入Sqlite数据库表中

在学习完网络编程之后,需要完成一个云字典的小项目,其中的难点在于,如何去查询文件中的单词,或者如何将文件以完美的格式放入数据库的表中。

2201_75768622的博客 2524
上一篇: SQLite实用武器库(1)利用dump命令和read命令导出数据、导入数据
下一篇: SQLite实用武器库(3)利用headers命令在命令行中显示列信息
00甘道夫00
00甘道夫00 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄19年 81粉丝 110原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值