我有一个通过程序生成的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。
致谢。
答案 0 :(得分:0)
这是一项一次性的任务,可以手动进行吗?如果是这样,您可以使用诸如Notepad ++之类的文本处理工具,该工具具有正则表达式搜索和替换,以及正则表达式搜索并用空字符串替换14个逗号及其后的所有内容,直到行末。
保存到一个单独的文件中,现在您有了一个仅包含第一个表的CSV文件。
重新加载原始文件,进行正则表达式搜索并替换从行首到14个逗号结尾的所有内容,现在您有了一个仅包含第二个表的csv文件。
通过csv到sql helper运行2个表中的每个表。