尝试加载信息表单网站时出现类型错误

TypeError when try to load information form website

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

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

driver={'ODBC Driver 13 for SQL Server'} driver 是一个 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)。

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

'DRIVER='+driver+'

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

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