database - 将包含 2 个表的 CSV 转换为 SQLite

标签 database sqlite csv

我有一个通过程序生成的 CSV 文件。 (准确地说是 airodump-ng),我想将其转换为 SQLite 数据库的 .db 文件。

我更希望这样做是为了让数据更容易导航,但我遇到的问题是生成的 CSV 文件中有 2 个单独的表格。

我不是最有优势的用户,因为这只是一个有点有趣的项目,所以我在 Github 上找到了一个基于 python 的脚本,名为 csvs-to-sqlite。

我发现了其他各种,但 csvs-to-sqlite 似乎完全符合我的要求。

BSSID, First time seen, Last time seen, channel, Speed, Privacy, 
Cipher, Authentication, Power, # beacons, # IV, LAN IP, ID-length, 
ESSID, Key
00:00:00:00:00:00, 2018-01-01 23:23:23, 2018-01-01 23:23:23,10,100, 
OPN,, PSK,-60,2,0,   0.  0.  0.  0,15,TestNode254846254, 
11:11:11:11:11:11, 2018-01-01 23:23:23, 2018-01-01 23:23:23,2,, 
WPA2, CCMP,   ,-67,1,0,   0.  0.  0.  0,13,WIFI456824625, 
22:22:22:22:22:22, 2018-01-01 23:23:23, 2018-01-01 23:23:23,4,, WPA2 
WPA, , MGT,-67,3,0,   0.  0.  0.  0,11,45895142357, 
,,,,,,,,,,,,,, 
Station MAC, First time seen, Last time seen, Power, # packets, 
BSSID, Probed ESSIDs,,,,,,,,
00:00:00:00:00:00, 2018-01-01 23:23:23, 2018-01-01 
23:23:23,-100,100, (not associated) ,Wifi,,,,,,,,
11:11:11:11:11:11, 2018-01-01 23:23:23, 2018-01-01 23:23:23,-55,3, 
(not associated) ,TestNode254846254,,,,,,,,
22:22:22:22:22:22, 2018-01-01 23:23:23, 2018-01-01 
23:23:23,-63,1,00:00:00:00:00:00,,,,,,,,,

作为初始测试,我运行了 CSV 以查看是否会生成 .db SQLite 数据库并且它按预期工作,但当然由于基本运行的性质,第一个表完美运行但第二个表显然出现mearly 显示为原始表中的数据,如果可能的话,我希望将数据输出到 2 个单独的表中。

因为它是 CSV,所以字段当然是用逗号分隔的,而 2 个表格是通过 14 个连续的逗号分隔的,这些逗号在作为电子表格查看时会出现,逗号之间有一个空行。

有没有人可能知道我如何相对轻松地将我的数据转换为 SQLite。

问候。

最佳答案

这是一次性任务吗,手动方法可以吗?如果是这样,您可以使用像 Notepad++ 这样的文本处理工具,它具有正则表达式搜索和替换,以及正则表达式搜索和替换 14 个逗号以及它们之后的所有内容到空字符串的行尾。

保存到一个单独的文件,现在您有一个只包含第一个表格的 CSV 文件。

重新加载原始文件,正则表达式搜索并替换从行首到 14 个逗号结尾的所有内容,现在您有一个只包含第二个表的 csv 文件。

通过 csv to sql 帮助程序运行 2 个表中的每一个。

关于database - 将包含 2 个表的 CSV 转换为 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53860397/

相关文章:

mysql - 恢复备份mysql

mysql - 什么时候查询结果是非标量的?

c++ - 如何在 Qt 中创建 SQLite 数据库

android - Sqlite 返回 : error code = 1, msg = 没有这样的表:client_table

sql - 获取产品现有数量

python - 将python中的数组列表导出为csv

python - 查找csv文件中的列数

java - 如何在 JPQL 中找到第一个

mysql - 将所有数据库表引擎更改为 InnoDB

python - 如何将 MATLAB 文件转换为 PYTHON?