导入 excel v sqlite 21 / 5 000 Результаты перевода Перевод 将 excel 导入 sqlite

问题描述 投票:0回答:0

在将 excel 数据传输到 sqlite 时,如何使 A 列和 B 列生成一系列数字 range() 我有 10,000 行不同的范围

enter image description here

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()

我不明白如何实现代码

sql sqlite openpyxl
© www.soinside.com 2019 - 2024. All rights reserved.