用2个表覆盖CSV到SQLite

时间:2018-12-19 23:07:07

标签: 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数据库,并且该数据库是否按预期工作,但是当然,由于基本运行的性质,第一个表可以正常工作,但是第二个表显然出现了最初显示为原始表中的数据,如果可能,我希望将数据输出到2个单独的表中。

由于它是CSV格式,因此字段之间当然用逗号分隔,而两个表则通过14个连续的逗号分隔,当以电子表格的形式查看时,这些逗号会出现,并且逗号之间为空行。

任何人都可能知道我如何轻松地将我的数据转换为SQLite。

致谢。

1 个答案:

答案 0 :(得分:0)

这是一项一次性的任务,可以手动进行吗?如果是这样,您可以使用诸如Notepad ++之类的文本处理工具,该工具具有正则表达式搜索和替换,以及正则表达式搜索并用空字符串替换14个逗号及其后的所有内容,直到行末。

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

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

通过csv到sql helper运行2个表中的每个表。