大佬教程收集整理的这篇文章主要介绍了excel中的Python空白单元格导入MSSQL,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在创建我的开发数据库时,我一定没有注意,因为所有列数据类型都以 nvarchar(250) 形式出现,即使我可以发誓我改变了它们。因此,在设置我的生产数据库时,我将 3 列更改为浮动。但由于 float 是数字,因此空白单元格的导入出现在 0 而不是空字符串或 null。看起来在我的 python 中我需要用 Pandas 替换,但是我在理解它应该去哪里时遇到了一些麻烦。下面的代码是代码的导入部分,qtrnum,qtrden,qtrpercent 是 3 个字段。我假设我需要对 ncdr_tuple 进行替换处理以将空字符串替换为空值,因此在导入时它不会导入 0,但不会导入任何内容,因此它在数据库中显示为空。
def excelToTupledata(hospital,metricKey,lineText,year,quarter,num,den,percent):
for rownum in range(12,sh.nrows):
ncdr = tuple(['Hospital','YrQTRID','Metrickey','lineText','Year','Quarter','qtrnum','qtrden','qtrpercent','SubGroup'])
row_values = sh.row_values(rownum)
if isinstance(row_values[metricKey],str) :
subgroup = row_values[metricKey]
if isinstance(row_values[metricKey],str) :
continue
ncdr = (hospitalchosen.get(),yearqtrID.get(),row_values[metricKey],row_values[lineText],row_values[num],row_values[den],row_values[percent],subgroup)
ncdr_tuple.append(ncdr)
# tuples to hold data
ncdr_tuple = []
# runs the function for each set of data and puts the data into a tuple
excelToTupledata(n,1,yr4,qtr4,2,4,6)
excelToTupledata(n,yr3,qtr3,8,10,12)
excelToTupledata(n,yr2,qtr2,14,16,18)
excelToTupledata(n,yr1,qtr1,20,22,24)
# Inserts Tuple into MSsql database
cursor.executemany(importncdrdata,ncdr_tuple)
cursor.commit()
或者我应该在插入语句中这样做
importusr4data = "INSERT INTO ncdr.dbo.ncdrusregdata (YrQTRID,MetricKey,lineText,usregrqtr,usregrpercent,subgroup) ) VALUES(?,?,?)"
回答 我需要使用 nullif 来修复我的插入语句
importusr4data = "INSERT INTO ncdr.dbo.ncdrusregdata (YrQTRID,subgroup) VALUES(?,?),nullif(?,''),?)"
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的excel中的Python空白单元格导入MSSQL全部内容,希望文章能够帮你解决excel中的Python空白单元格导入MSSQL所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。