You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python处理TXT文件数据并存储到SQLite3数据库

将TXT数据导入SQLite3数据库的实现步骤

我来一步步教你把这些TXT里的名字数据存到SQLite3数据库里,咱们分两步走:先整理文本数据,再写入数据库。

第一步:处理content中的文本数据

你的数据结构是第一行表头,后面每行对应一个排名+男性名字+女性名字,咱们要把每个名字拆成独立的数据库记录(比如Noah对应rank1、性别男,Emma对应rank1、性别女),具体代码如下:

# 把文本按行拆分,过滤掉空行
lines = [line.strip() for line in content.splitlines() if line.strip()]

# 跳过第一行表头,提取有效数据
data_records = []
for line in lines[1:]:
    # 按空格拆分每行内容(假设数据用空格分隔)
    parts = line.split()
    if len(parts) == 3:
        rank, male_name, female_name = parts
        # 添加男性名字的记录
        data_records.append((int(rank), male_name, 'male'))
        # 添加女性名字的记录
        data_records.append((int(rank), female_name, 'female'))

第二步:连接SQLite3并写入数据

接下来咱们连接数据库,创建目标表,然后把整理好的数据批量插进去:

import sqlite3

# 连接数据库(如果文件不存在会自动创建)
conn = sqlite3.connect('names_rank.db')
cursor = conn.cursor()

# 创建表:包含rank(排名)、name(名字)、sex(性别)三个字段
cursor.execute('''
CREATE TABLE IF NOT EXISTS name_rankings (
    rank INTEGER,
    name TEXT,
    sex TEXT
)
''')

# 批量插入数据,比逐条插入效率高很多
cursor.executemany('''
INSERT INTO name_rankings (rank, name, sex) VALUES (?, ?, ?)
''', data_records)

# 提交更改并关闭连接,一定要提交不然数据不会写入
conn.commit()
conn.close()

小提示

  • 你可以把数据库文件名names_rank.db改成自己想要的名字;
  • 如果你的TXT数据里有空格分隔的异常情况,可能需要调整split()的逻辑(比如用正则匹配分割),不过目前你的示例数据用普通空格拆分完全没问题;
  • 批量插入用executemany()比循环调用execute()高效得多,数据量大的时候差距会很明显。

内容的提问来源于stack exchange,提问作者Andres ZW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:50:55