import os
import sqlite3

def read_sqlite_and_append_to_file(folder_path, output_file='./1.txt'):
    """
    读取指定文件夹下所有SQLite数据库中的数据，并将其按照“列名: 内容”的格式
    追加到指定的文本文件中。

    :param folder_path: 包含SQLite数据库的文件夹路径
    :param output_file: 输出文件的路径，默认为'1.txt'
    """
    # 遍历文件夹中的所有文件
    for filename in os.listdir(folder_path):
        if filename.endswith('.db'):
            db_path = os.path.join(folder_path, filename)
            # 连接到SQLite数据库
            conn = sqlite3.connect(db_path)
            cursor = conn.cursor()
            
            # 获取所有表名
            cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
            tables = cursor.fetchall()
            
            for table_name in tables:
                table_name = table_name[0]
                # 获取表的列名
                cursor.execute(f"PRAGMA table_info({table_name});")
                columns = cursor.fetchall()
                column_names = [col[1] for col in columns]
                
                # 查询表中的所有数据
                cursor.execute(f"SELECT * FROM {table_name};")
                rows = cursor.fetchall()
                
                for row in rows:
                    # 将每一行的数据按照“列名: 内容”的格式写入文件
                    with open(output_file, 'a', encoding='utf-8') as file:
                        for col_name, value in zip(column_names, row):
                            file.write(f"{col_name}: {value}\n")
                        file.write("\n")  # 每一行数据之间添加一个空行
            
            # 关闭数据库连接
            conn.close()

# 示例使用
read_sqlite_and_append_to_file('./db/')