Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQL将所有位类型转换为循环中的布尔值_Python_Mysql - Fatal编程技术网

Python SQL将所有位类型转换为循环中的布尔值

Python SQL将所有位类型转换为循环中的布尔值,python,mysql,Python,Mysql,使用MS SQL,对于给定的表,我希望在某种循环中将bit类型的所有列转换为boolean类型。找不到如何有效地实现这一点,比如1000列 这个问题的背景 出于某种原因,在将Python与SQLAlchemy结合使用时,pandas.to_sql()将所有布尔类型写入位类型。当我在Python脚本中寻找修复程序时,可能需要直接使用MS SQL来修复 Python脚本: engine = sqlalchemy.create_engine('connectionString') pandasDF =

使用MS SQL,对于给定的表,我希望在某种循环中将bit类型的所有列转换为boolean类型。找不到如何有效地实现这一点,比如1000列

这个问题的背景

出于某种原因,在将Python与SQLAlchemy结合使用时,pandas.to_sql()将所有布尔类型写入位类型。当我在Python脚本中寻找修复程序时,可能需要直接使用MS SQL来修复

Python脚本:

engine = sqlalchemy.create_engine('connectionString')
pandasDF = pandas.read_csv("path/to/somehwere/data.csv", sep = ';')
pandasDF.to_sql("tableName", engine, if_exists = 'append', index = False)
当然,我可以在Python中解决这个问题,循环遍历Pandas数据框中的列名,并在数据库上运行大约1000个查询,从Python脚本中调用它们。但肯定在SQL Server中也有修复程序,其他人也可以从中受益


非常感谢您的帮助

sql server中没有布尔数据类型。那么,你到底为什么会有一个包含1000位列的表呢?@SeanLange谢谢你的评论。您评论的第一部分:我如何在MSSQL中得到0和1,而不是真/假。第二部分:问卷调查中所问问题具有很大的随机性,很多选择题答案可以轻松生成多达1000列,全部为布尔值。位数据类型中存储的值可以是0、1、NULL。我想说的是,如果你把每个问题的答案都存储在一个列中,那就有点不对劲了。您如何处理问卷的更改?什么样的问卷有1000个问题?谢谢,将继续使用0/1/NULL,不知道bit和boolean是一样的!和其他的讨论。想象一个10x10可能性的矩阵,你可以选中/取消选中这100个单元格中的任何一个(没有最大值),然后可能最容易将它们存储在每个响应者的100列中。你(显然很强烈)对此有何看法?位和布尔值实际上并不相同,但位数据类型在存储布尔值数据方面做得很好。至于你的矩阵例子100是一个数量级远离1000。我可能会将矩阵的每一行存储在表中的一个单独的行中,然后对每种可能性进行响应。我在过去建立了一个类似的数据库,它的工作方式非常好。如果调查问卷沿途发生变化,则无需更改数据库,只是有不同的问题和回答。:)