我有一个TXT文件,如下所示:
州 | 性别 | 年份名称 | <1th>计数||
---|---|---|---|---|
AK | F | 1920 | 玛丽 | 14 |
AK | F | 1920 | Eva>12 | |
AK | M | 1920 | 本14||
AK | M | 1920 | 将 | 12 |
假设您的文本文件包含逗号分隔的值:
with open("data/all.TXT", "r") as f:
result = f.readlines()
result = [x.split(",") for x in result]
import sqlite3 as sq3
con = sq3.connect("popular.db")
con.execute(
"""
CREATE TABLE IF NOT EXISTS popname (
id INTEGER PRIMARY KEY,
state TEXT,
sex TEXT,
year TEXT,
forename TEXT,
count INTEGER
);
"""
)
for i, (state, sex, year, forename, count) in enumerate(result):
con.execute(
"""
INSERT INTO popname VALUES (?, ?, ?, ?, ?, ?);
""",
(i, state, sex, year, forename, count.strip()),
)
con.commit()
请注意,不能设置PRIMARY KEY(forename))
,因为某些名称很可能会重复,并且会违反UNIQUE
约束。
编辑:我添加了列id
,并使用行号作为值。