将SQLite 3数据库转换为CSV

时间:2015-09-03 23:33:42

标签: database sqlite

我正在寻找一种将数据库转换为CSV文件的方法。我通过终端以及SQLiteStudio使用SQLite 3。我没有遇到过导出或保存为CSV的简单方法,这让我觉得我可能无法一步到位。

3 个答案:

答案 0 :(得分:3)

sqlite3命令行shell中,单表可以使用:

sqlite> create table t(x,y);
sqlite> insert into t values(1, 'hello'), (2, 'world');
sqlite> .mode csv
sqlite> select * from t;
1,hello
2,world

您可以使用.output.once将输出重定向到文件。

答案 1 :(得分:0)

如果你在linux中,你需要二进制文件sqlite3单个bash文件。 我的示例代码如下所示:

#!/bin/sh

PATH_BIN="/home/user/project/bin/";

PATH_SOURCE=$PATH_BIN"db/sample.sqlite3";
PATH_TARGET_DUMP=$PATH_BIN"dump/export_all.db";
PATH_TARGET_SCHEMA=$PATH_BIN"dump/export_schema.db";
PATH_TARGET_CSV=$PATH_BIN"dump/export_csv.csv";

##### DUMP ALL SCHEMA & DATA #####
sqlite3 $PATH_SOURCE .dump > $PATH_TARGET_DUMP;
echo "Done... Export all to: " $PATH_TARGET_DUMP;

#### DUMP SCHEMA (ONLY) #####
sqlite3 $PATH_SOURCE .schema > $PATH_TARGET_SCHEMA;
echo "Done... Export schema (only) to: " $PATH_TARGET_SCHEMA;

#### DUMP TO CSV FILE #####
QUERY="SELECT * FROM table";
# with header 
# sqlite3 -csv -header $PATH_SOURCE $QUERY > $PATH_TARGET_CSV;
# without header
sqlite3 -csv $PATH_SOURCE $QUERY > $PATH_TARGET_CSV;
echo "Done... Export csv file to: " $PATH_TARGET_CSV;

echo "All Done !";

您也可以在我的gist文件here

中分叉

答案 2 :(得分:0)

以下python3代码段可能会有所帮助:

2020-07-15T21:05:00Z