在将 excel 数据传输到 sqlite 时,如何使 A 列和 B 列生成一系列数字 range() 我有 10,000 行不同的范围
import os
import sqlite3
import openpyxl
def export_to_sqlite():
"""Экспорт данных из xlsx в sqlite"""
# Текущая папка
prj_dir = os.path.abspath(os.path.curdir)
a = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# SQL name БД
base_name = 'Excel_sqlite.db'
# метод sqlite3.connect автоматически создаст базу, если ее нет
connect = sqlite3.connect(prj_dir + '/' + base_name)
# курсор - это специальный объект, который делает запросы и
# получает результаты запросов
cursor = connect.cursor()
# создание таблицы если ее не существует
cursor.execute("""CREATE TABLE IF NOT EXISTS Mobile
(num INTEGER PRIMARY KEY,
con INTEGER,
region TEXT)
""")
# Читаем файл и лист книги excel
file_to_read = openpyxl.load_workbook('abcd.xlsx', data_only=True)
sheet = file_to_read['abc']
# Цикл по строкам начиная со второй (в первой заголовки)
for i in range(2, sheet.max_row + 1):
# Объявление списка
data = []
# Цикл по столбцам от 1 до 3
for col in range(1, 4):
# value содержит значение ячейки с координатами i col
value = sheet.cell(i, col).value
# Список который мы потом будем добавлять
data.append(value)
# Вставка данных в поля таблицы
cursor.execute(F"INSERT INTO Mobile VALUES (?, ?, ?);", (data[0], data[1], data[2]))
connect.commit()
connect.close()
export_to_sqlite()
我不明白如何实现代码