Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.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 fetchall返回true和false_Python_Fetchall - Fatal编程技术网

Python fetchall返回true和false

Python fetchall返回true和false,python,fetchall,Python,Fetchall,我有一个python脚本,可以生成fetchall(): 我的问题是cursor.fetchall()返回True或False(以及上面示例中带有其他值的其他列),但在数据库中,该值是位1或0,当导出到CSV时,它会输入True或False,我想要1或0 SQL中返回的示例数据: ID Price Price2 Price3 Active Opened Sent Enable 1 12234.09 11

我有一个python脚本,可以生成fetchall():

我的问题是cursor.fetchall()返回True或False(以及上面示例中带有其他值的其他列),但在数据库中,该值是位1或0,当导出到CSV时,它会输入True或False,我想要1或0

SQL中返回的示例数据:

ID      Price       Price2      Price3      Active      Opened      Sent        Enable
1      12234.09     1111.09    3444.36      1           1           1           0   
您可以使用
int()

Ex:

print(int(True))
print(int(False))
1
0
输出:

print(int(True))
print(int(False))
1
0
您可以使用
int()

Ex:

print(int(True))
print(int(False))
1
0
输出:

print(int(True))
print(int(False))
1
0

fetchall
返回元组或字典的列表。将它们转换为整数的最简单方法是将
int
方法映射到该列表:

data_in_integer_form = map(int, data)

fetchall
返回元组或字典的列表。将它们转换为整数的最简单方法是将
int
方法映射到该列表:

data_in_integer_form = map(int, data)

谢谢你的回答和帮助。问题是SP返回多个列,在本例中是88,我不想显式指定它们,因为它有很多列,我想要动态的东西,因为如果我更改SP以返回多个列,我不想更改脚本以添加列。接下来的目标是这样做:
a=csv.writer(fp,delimiter=';')对于数据行:a.writerows(line)
您不需要更改SP,而是在写入csv文件之前修改bool值。正确,但这意味着我对数据行:
a=csv.writer(fp,delimiter=';')进行修改[“mycolumn1”]=int(line[“mycolumn1”])line[“mycolumn2”]=int(line[“mycolumn2”])line[“mycolumn3”]=int(line[“mycolumn3”])a.writerows(line)
这需要很多时间,如果我在SP中有一个新的位值,我必须在脚本中添加另一个条件。你能发布一个
数据样本吗?
行=[True,12234.091111.093444.36,True,True,True,False]打印([int(i)如果是instance(i,bool),则为int(i),否则为i,表示i在同一行中])
?感谢您的回答和帮助。问题是SP返回多个列,在本例中为88,我不想显式指定它们,因为它有很多列,我想要动态的内容,因为如果我更改SP以返回更多列,我不想更改脚本以添加列。目标是下一步对数据中的行执行以下操作:
a=csv.writer(fp,delimiter=';'):a.writerows(line)
您不需要更改SP,而是在写入csv文件之前修改bool值。正确,但这意味着我对数据中的行执行:
a=csv.writer(fp,delimiter=';'):line[“mycolumn1”]=int(line[”mycolumn1“])line[“mycolumn2”]=int(line[“mycolumn2”])line[“mycolumn3”]=int(line[“mycolumn3”])a.writerows(line)
这需要很多时间,如果我在SP中有一个新的位值,我必须在脚本中添加另一个条件。您可以发布
数据的示例吗?
行=[True,12234.091111.093444.36,True,True,True,False]打印([int(i)如果是instance(i,bool),则为int(i),否则为i,表示i在同一行中])
?感谢您的帮助,但返回的数据不仅是布尔值,而且是十进制、字符串等。好吧,这与第一个问题不同。您说查询返回的是真和假,而不是小数和字符串。感谢您的帮助,但返回的数据不仅是布尔值,还是十进制、字符串s、 等等,好吧,这是一个与第一个问题不同的问题。你说查询返回的是真和假,而不是小数和字符串。