【问题标题】:TypeError when try to load information form website尝试加载信息表单网站时出现类型错误
【发布时间】:2020-08-11 11:26:35
【问题描述】:

我在从网站获取信息到我的 python 程序时遇到问题。这就是我尝试过的:

import pandas as pd
import pyodbc as odbc
import geopandas as gpd
import shapely
import shapefile
import sys
import datetime 

server = '....'
database = '<database>'
username = '<username >'
password = '<password>'   
driver={'ODBC Driver 13 for SQL Server'}



sql_conn = odbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=....;DATABASE='+database+';UID='+username+';PWD='+ password)
query = "select * from view;"
df = pd.read_sql(query, sql_conn)
df.head()

错误:

TypeError: can only concatenate str (not "set") to str

有人知道我做错了什么吗?我只是想收集信息并将其保存以供进一步处理。我用谷歌搜索但找不到错误...

【问题讨论】:

  • 你在使用pyodbc吗? ... pypyodbc? ...TurbODBC? ......还有什么?
  • 我正在使用pyodbc
  • edit您的问题包含完整的堆栈跟踪。

标签: python sql-server pandas pyodbc


【解决方案1】:

driver={'ODBC Driver 13 for SQL Server'} 驱动程序是 python set

更改为driver='ODBC Driver 13 for SQL Server'

https://snakify.org/en/lessons/sets/#:~:text=Set%20in%20Python%20is%20a,union%2C%20intersection%2C%20difference)。

【讨论】:

    【解决方案2】:

    您正在尝试将 str 类型添加到 set 类型

    'DRIVER='+driver+'
    

    您将驱动程序定义为花括号中的字符串,这意味着:将给定字符串设置为唯一元素。可能您打算将其定义为字符串,因此请删除大括号;否则,您可以使用

    从集合中获取(随机)元素
    next(iter(driver))
    

    【讨论】:

      猜你喜欢
      • 2021-07-16
      • 2017-11-30
      • 2021-05-08
      • 1970-01-01
      • 2019-09-04
      • 2012-08-09
      • 2020-11-23
      • 2018-05-03
      • 1970-01-01
      相关资源
      最近更新 更多