如何在没有括号的情况下,在特定列(Python)中插入从sqlite到excel的值



我是Python的新手。我想知道如何将值添加到excel文件中。我在谷歌上做了一些研究,但我仍然找不到制作它的方法。这就是我所拥有的:

wb = load_workbook('example.xlsx')
ws = wb.active
con = sqlite3.connect(database=r'database.db')
cur = con.cursor()
cur.execute("Select colors from store")
row= cur.fetchall()
ws['B14'].value = str(row)

使用这些代码,它会用括号显示B14列中的所有值。我想要的是

  1. B14到B33中列中的每个值
  2. 不带括号的值

有人帮忙吗?

.fetchall返回元组列表,str(row)为您提供该列表的字符串表示。

如果你想让这个列表的每个元素都在自己的单元格中,你需要在列表上迭代,并在每次迭代中修改单元格名称:

row_num = 14
for elem in cur.fetchall():
ws[f'B{row_num}'].value = elem[0]
row_num += 1

另一种方式,使用enumerate:

starting_row_num = 14
for row_num, elem in enumerate(cur.fetchall(), starting_row_num):
ws[f'B{row_num}'].value = elem[0]

最新更新