【发布时间】:2020-11-22 18:17:17
【问题描述】:
我正在将此作为一项任务进行处理,但我遇到了这个错误。代码如下:
import pandas as pd
Customers = pd.read_csv (r'/content/customers.csv')
dfc = pd.DataFrame(data=Customers, columns= ['CustomerID','CustomerName','ContactNo'])
Orders = pd.read_csv (r'/content/orders.csv')
dfo = pd.DataFrame(data=Orders, columns= ['OrderID','CustomerID','OrderDate'])
OrderDetails = pd.read_csv (r'/content/order_details.csv')
dfd = pd.DataFrame(data=OrderDetails, columns= ['OrderID','ProductID','Quantity'])
Products = pd.read_csv (r'/content/products.csv')
dfp = pd.DataFrame(data=Products, columns= ['ProductID','ProductName','UnitPrice'])
# Connect to SQL Server
cursor = connection.cursor()
# Insert DataFrame to Tables
for row in dfc.itertuples():
cursor.execute('''
INSERT INTO business.db.Customer (CustomerID, CustomerName, ContactNo)
VALUES (?,?,?)
''',
(row.CustomerID,
row.CustomerName,
row.ContactNo)
)
for row in dfo.itertuples():
cursor.execute('''
INSERT INTO business.db.Order (OrderID,CustomerID,OrderDate)
VALUES (?,?,?)
''',
(row.OrderID,
row.CustomerID,
row.OrderDate)
)
for row in dfp.itertuples():
cursor.execute('''
INSERT INTO business.db.Product (ProductID,ProductName,UnitPrice)
VALUES (?,?,?)
''',
(row.ProductID,
row.ProductName,
row.UnitPrice)
)
for row in dfd.itertuples():
cursor.execute('''
INSERT INTO business.db.OrderDetails (OrderID,ProductID,Quantity)
VALUES (?,?,?)
''',
(row.OrderID,
row.ProductID,
row.Quantity)
)
connection.commit()
当我在 Google Colaboratory 上运行代码时,我收到如下错误消息:
OperationalError Traceback (most recent call last)
<ipython-input-36-1726ecf71e09> in <module>()
40 (row.CustomerID,
41 row.CustomerName,
---> 42 row.ContactNo)
43 )
44
OperationalError: near ".": syntax error
我不确定这里出了什么问题。是的,我也知道该函数只接受 2 个参数时给出了 3 个参数。如果有人能提供帮助,将不胜感激!
【问题讨论】:
-
也许真正的问题是表名
business.db.Customer。如果这是 sqlite,则需要将带有特殊字符的表名包含在某些东西中,例如引号"sqlite 仅在案例附加数据库(或临时数据库)中使用 db 名称前缀;即使business.db是附加数据库,由于.s 需要将整个短语括起来
标签: python pandas sqlite dataframe csv