python - Db2 存储数据遇到错误 The numeric literal XXXX is not valid
问题描述
我正在解析Neighborhood 的Wikepedia1和Neighbourhood 的纬度和经度的Wikipedia2 并存储到 IBM Db2 中。我遇到了以下错误代码。请指教。
导入版本如下
ibm_db 3.0.2
requests 2.24.0
bs4 4.9.1
pandas 1.0.5
我能够解析到第 102 项,如下所示:
失败位置的 HTML:
错误代码
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-9-035d46749936> in <module>
14 print(primary_key,";",neighbour['href'],";", neighbour['title'],";",lat, lng)
15 insertQuery = f"insert into TORONTO values({primary_key},'{neighbour['title']}','{neighbour['href']}','{lat}','{lng}')"
---> 16 ibm_db.exec_immediate(conn,insertQuery)
Exception: [IBM][CLI Driver][DB2/LINUXX8664] SQL0103N The numeric literal "27s_Bridge" is not valid. SQLSTATE=42604 SQLCODE=-103
我的 Db2 表如下
create table TORONTO(id INTEGER PRIMARY KEY NOT NULL, neighbourhood VARCHAR(20), href VARCHAR(20), latitude VARCHAR(20), longitude VARCHAR(20) )
我的解析代码
primary_key = 0
for table in soup.find_all('table', class_ = 'multicol'):
for neighbour in table.find_all('a', href=True, class_=False):
url2 = 'https://en.wikipedia.org/' + neighbour['href']
url_object = requests.get(url2)
soup2 = BeautifulSoup(url_object.text, 'html.parser')
count = 0
primary_key += 1
for coor in soup2.find_all('span', class_ = ['latitude','longitude']):
if count == 2: continue
if count == 0: lat = str(coor.string)
if count == 1: lng = str(coor.string)
count += 1
print(primary_key,url2, neighbour['title'],lat, lng)
insertQuery = f"insert into TORONTO values({primary_key},'{neighbour['title']}','{url2}','{lat}','{lng}')"
ibm_db.exec_immediate(conn,insertQuery)
解决方案
尝试将您的查询更改为:
insertQuery = f"insert into TORONTO values({primary_key},'{neighbour['title']}','{url2}','{lat}','{lng}')"
推荐阅读
- react-native - 将数据提取到状态不像文档 - 在 mapStateToProps 中反应本机和 redux
- javascript - 有时array.forEach() 比array.map() 更好吗?
- ios - 没有在 Swift 的 applicationSupport 文件夹中创建文本文件
- ruby-on-rails - 无法部署应用程序 - aws eb 上的 ruby
- sql - SQL 日期时间 2019 年 1 月 25 日下午 4:06:45
- c# - 如何在 Unity 2d 中制作推进器?
- tsql - 在一个表的列中分解 csv 以插入新表
- git - 为什么git没有在分支更改中隐藏空文件夹?
- c# - 从其他脚本 Unity 访问脚本
- java - 通过处理与 Arduino 通信的问题