python - 为 SQL 多行输入创建具有随机输入的列表

标签 python sqlite python-2.7

我想通过编写游戏(基于文本)来学习 Python 和 SQLite。我想将数据插入到 SQLite 数据库中。我为玩家创建了一个表格

c.execute('''CREATE TABLE player(ID_Player INTEGER PRIMARY KEY, Age INT, Name VARCHAR, Position VARCHAR, Skill INT, Value INT)''')

现在我想为这个表插入 n 个条目。对于每一列,我想应用一个函数来确定应输入的内容。

  • 年龄:randint(18,33))
  • 对于姓名:names.get_full_name(gender='male')
  • 位置:random.choice(positions)
  • 技能:randint(50,100)
  • 值:randint(500000,5000000)

如果我手动创建列表,它看起来像这样

multi_lines =[ (25,'Playern Name1','TW',95,45000000),
               (26,'Playern Name2','ST',75,3500000),
               (32,'Playern Name3','IV',85,25000000),]

比我可以执行它们并使用函数 c.executemany('INSERT INTO player(age, name, position, skill, value) VALUES (?,?,?,?, ?)',多行) 我试图确定 c.executemany 的输入,但这没有用。

c.executemany('INSERT INTO player(Age, Name, Position, Skill, Value)  VALUES (?,?,?,?,?)',\
               (randint(18,33),names.get_full_name(gender='male'),random.choice(positions),randint(50,100), randint(500000,50000000) ))

接下来,我尝试制作了很多列表,并将它们放入一个空列表中:

lst = []
positions = ['TW', 'IV', 'MF', 'ST']

for i in range(2):
    lst.append(randint(18,33))
    lst.append(names.get_full_name(gender='male'))
    lst.append(random.choice(positions))
    lst.append(randint(50,100))
    lst.append(randint(500000,5000000))

print  lst

此输出为 [19, u'Ricardo Moore', 'ST', 68, 3298618, 26, u'Carl Cole', 'ST', 92, 3380302],但是,我想创建类似 multi_lines 的输出。这样做的合乎逻辑的方法是什么?或者更具体地说,我如何创建一个位于另一个列表中的列表?

main_list = [
    (list_1),
    (list_2),
    (list_n)
]

最佳答案

executemany() 需要一个列表:

positions = ['TW', 'IV', 'MF', 'ST']
multi_lines = [[
        randint(18,33),
        names.get_full_name(gender='male'),
        random.choice(positions),
        randint(50,100),
        randint(500000,5000000)
    ]
    for i in range(2)
]

c.executemany('INSERT INTO player(Age, Name, Position, Skill, Value)  VALUES (?,?,?,?,?)', multi_lines)

关于python - 为 SQL 多行输入创建具有随机输入的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35750277/

相关文章:

python - 在 Python 中,使用尽可能少的字符表示 SHA-256 哈希

python - 是否可以从字符串数据列表创建字典列表?

python - 需要 Pygame 帮助

c++ - Python 提示 SWIG 模块不存在

android - 从 Assets 文件夹复制数据库后android pie中没有这样的表错误

sql - 在sqlite中将子查询转换为左联接

Python、Sqlite3 - 如何将列表转换为 BLOB 单元格

python - PyParsing 和多行系统日志消息

linux - 无法再更新我的 Ubuntu 12.04 : python 2. 7 循环依赖项?

python - 在文件中的某个点追加,每次增加一个值