【发布时间】:2021-03-23 14:53:15
【问题描述】:
我想用 Python 中的 SQL 服务器查询更新一列,如您所见,我正在更新相关列,如下所示: 我有一个 CSV 文件,其中包含一些相对表的 A 值,如下所示:
CSV 文件:(a.csv)
ART-B-C-ART0015-D-E01
ADC-B-C-ADC00112-V-E01
Python 代码:(创建名称值)
ff = pd.read_csv("C:\\a.csv",encoding='cp1252')
ff["Name"]= df["A"].str.extract(r'([a-zA-Z]{3}\d{4,5})') + "-A"
python代码结果:
ART0015-A
ADC00112-A
表:
A Name FamilyName
ART-B-C-ART0015-D-E01 NULL ART
ADC-B-C-ADC00112-V-E01 NULL ADC00112
A 也是我表中的一列(不是所有的 A 记录,而是其中一些),并且基于 A 值,我想更新 Name 列。 我的数据库是 SQL Server,我不知道如何在 SQL Server 的名称列中更新,其中 csv 文件中的 A 值等于相关表中的 A。 Python代码:
conn = pyodbc.connect('Driver={SQL Server}; Server=ipaddress; Database=dbname; UID=username; PWD= {password};')
cursor = conn.cursor()
conn.commit()
for row in ff.itertuples():
cursor.execute('''UPDATE database.dbo.tablename SET Name where ?
)
conn.commit()
表格中的预期结果
A Name FamilyName
ART-B-C-ART0015-D-E01 ART0015-A ART
ADC-B-C-ADC00112-V-E01 ADC00112-A ADC00112
【问题讨论】:
-
我有一个列中有 A 值的 CSV 文件 这个文件是否可用于 MySQL 服务器访问?显示完整表格的 CREATE TABLE、表格(3-5 行)和 CSV 文件(2-3 行)的一些数据样本,以及所需的结果(更新后的表格内容)。还要指定精确的 MySQL 版本。
-
我更新了我的内容。但请注意,我没有创建表格。我有一个表,我必须更新一个特定的列。
-
请注意,我没有创建表。但是这个表是存在的,所以它有一个可以提供的结构。
-
我也分享了表格结构/
-
附言。显示代码中的表名是
database.dbo.tablename,它与 SQL Server (MS SQL) 方言匹配,而不是 MySQL。请仔细查看您处理的数据库服务器。
标签: python sql-server python-3.x pandas python-2.7