python - 在 Spyder 中使用 OpenPyxl 和 sqlite3 将数据从 Excel 文件导入数据库
问题描述
我正在尝试将 Excel .xlsx 文件中的数据导入我在 Spyder 上使用 sqlite3 和 openpyxl 创建的数据库 .db。如果需要,我可以使用 Panda。这是一个作业,所以除了我上面提到的那些之外,我不能使用可能的“更有效”的方法。我的问题是将excel数据实际导入数据库。作为最后的手段,我已经使用简单的命令行提示 (CMD) 设置了表格和列标题,但需要在提交时显示代码。下面是我的代码,使用 Spyder。(我将此文件保存在包含 excel 文件和 .db 文件的正确文件夹中)
import sqlite3
import openpyxl
connection = sqlite3.connect('createdb_food.db')
cursor = connection.cursor()
wb1 = openpyxl.load_workbook('inspections.xlsx')
wb2 = openpyxl.load_workbook('violations.xlsx')
(然后我编写 sql_commands 并执行创建表 << 工作)(我现在尝试将数据导入到相应的文件中......我将显示 VIOLATIONS.xslx 的代码,因为代码较少......但两个 excel 导入都是不同变量相同)
sheet2 = wb2['violations']
values2 = []
for row in sheet2.iter_rows(min_row=2, max_row=906015, max_col=5):
for cell in row:
if len(values2) == 5:
sql_command = """
INSERT INTO violations(points, serial_number, violation_code, violation_description, violation_status)
VALUES(values2[0], values2[1], values2[2], values2[3], values2[4]
);"""
cursor.execute(sql_command)
values2 = []
values2.append(cell.value)
[(CHECK EDIT BELOW)]上述代码更改 ^
然后我保存并提交更改并关闭连接。
connection.commit()
connection.close()
我正在使用 utf-8。Spyder 中的当前错误为:“self.ws._cells[(cell['row'], cell['column'])] = c || MemoryError”。
我将不胜感激任何帮助。谢谢!
[(编辑)]:我已将一些代码更改为以下...
sheet2 = wb2['violations']
values2 = []
wb2_row_count = sheet2.max_row
wb2_col_count = sheet2.max_column
for row in sheet2.iter_rows(min_row=2, max_row=906015, max_col=5):
if len(values2) == 5:
sql_command = """
INSERT INTO violations(?,?,?,?,?
);"""
cursor.execute(sql_command)
values2 = []
for cell in row:
values2.append(cell.value)
cursor.execute(values2)
错误信息:
文件“C:\Users[name]\Anaconda3\lib\site-packages\openpyxl\worksheet_reader.py”,第 139 行,解析 _,其中的元素:
内存错误
解决方案
推荐阅读
- python - 在 python matplotlib 中格式化损坏的 y 轴
- javascript - Javascript函数在执行前返回值
- vb.net - 选择带有另一个布尔检查的案例
- sql - 使用 PLSQL 根据条件减去列中的值
- javascript - ui更改后聚焦元素和位置反应
- python - 构建从 3D 图像加载(未知数量)切片的 PyTorch 数据集的好方法是什么?
- html - 无论内容如何,如何设置 bootstrap 4 卡的最大高度?
- angular - 使 mat option 和 mat select 有不同的 UI
- python - Python - 匹配来自外部文件的数据(用户名密码)
- c# - System.IO.FileLoadException,找不到程序集,程序集版本冲突