尝试加载信息表单网站时出现TypeError

时间:2020-08-11 11:26:35

标签: python sql-server pandas pyodbc

我在从网站获取信息到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

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

2 个答案:

答案 0 :(得分: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)。

答案 1 :(得分:0)

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

'DRIVER='+driver+'

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

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