首页 > 解决方案 > python3将SQL响应从行格式化为字符串

问题描述

我试图从数据库中打印值并得到这个输出:

[('CPDK0NHYX9JUSZUYASRVFNOMKH',), ('CPDK0KUEQULOAYXHSGUEZQGNFK',), ('CPDK0MOBWIG0T5Z76BUVXU5Y5N',), ('CPDK0FZE3LDHXEJRREMR0QZ0MH',)]

但希望有这个来自at:

'CPDK0NHYX9JUSZUYASRVFNOMKH'|'CPDK0KUEQULOAYXHSGUEZQGNFK'|'CPDK0MOBWIG0T5Z76BUVXU5Y5N'|'CPDK0FZE3LDHXEJRREMR0QZ0MH'

Python3

现有代码

from coinpayments import CoinPaymentsAPI
from datetime import datetime
from lib.connect import *
import argparse
import json

sql = 'SELECT txn_id FROM coinpayment_transactions WHERE status = 0 '

mycursor.execute(sql)

result = mycursor.fetchall()

mydb.close()

print(result)

标签: python-3.xprinting

解决方案


你得到的是一个元组列表,它存储在结果对象中。如果您希望按照您所说的方式格式化输出,请执行此操作

#Paste this instead of print(result)
output=''

for i in result:
    if (output!=''):
        output=output+'|'+"'"+i[0]+"'"
    else:
        output=output+"'"+i[0]+"'"
print(output)

做这些事情的更好方法是使用连接format()字符串方法。


推荐阅读