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

Export SQLite3 to CSV with text representation of GUID/BLOB

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

l_yQ��rG�M�2�"�o

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

X'35B17880847326409E61DB91CC7B552E'

我知道 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'

当然,如果我指定所有列名而不是使用 * 会更好,但这足以作为示例。