将SQLite3导出为带有GUID/BLOB文本表示形式的CSV



我想将我的SQLite3数据库的每个表导出到CSV文件,以便用Python进一步操作,之后我想将CSV文件导出到不同的数据库格式(PSQL)。SQLite3中的ID列是GUID类型的,因此当我将表导出为CSV作为文本时,会出错:

l_yQ��rG�M�2��o

我知道有一种方法可以将其转换为可读格式,因为Firefox的SQLite管理器插件会自动完成此操作,遗憾的是没有参考如何或使用哪个查询:

X ' 35 b17880847326409e61db91cc7b552e '

我知道QUOTE (GUID)显示所需的十六进制字符串,但我不知道如何将其转储到CSV而不是BLOB。

我发现了我的错误是什么-不是为什么它不工作,而是我如何解决它。因此,我试图导出我的表,如https://www.sqlite.org/cli.html所示,即一个多行命令,这不起作用:

sqlite3 'path_to_db'
.headers on`
.mode csv
.output outfile.csv
SELECT statement

等等

我正在测试一些东西,因为我在测试时很懒,所以我使用了单行变体,它完成了工作:

sqlite3 -header -csv 'path_to_db' "SELECT QUOTE (ID) AS Hex_ID, * FROM Table" > 'output_file.csv'

当然,如果我指定所有列名而不是使用*会更好,但这已经足够作为一个例子了。

最新更新