我正在嘗試使用 python 從我的 mysql 資料庫中獲取資料:
import mysql.connector
myDB = mysql.connector.connect(
host = "<host>",
port = "<port>",
user = "<user>",
password = "<passwd>",
database = "<database>"
)
mycursor = myDB.cursor()
mycursor.execute("SELECT binaryValue FROM users")
myresult = mycursor.fetchall()
這會在我的資料庫中讀取一個名為 binaryValue 的列,其中每一行都是“0”或“1”
當我列印出變數“myresult”時,它給了我一個串列,其中每個專案都是一個元組:
[(bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'1'),), (bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'1'),), (bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'1'),)]
我需要為此串列中的每個專案獲取一個帶有“0”或“1”的字串
我已經在網上尋找并嘗試弄清楚如何做到這一點,但沒有任何效果
提前致謝:)
uj5u.com熱心網友回復:
您可以使用串列理解和.decode():
a = [(bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'1'),), (bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'1'),), (bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'1'),)]
[i[0].decode() for i in a]
輸出:
['0', '0', '1', '0', '0', '1', '0', '0', '0', '1']
uj5u.com熱心網友回復:
您可以使用以下函式將位元組陣列轉換為二進制值int:
result = [(bytearray(b'0'),), (bytearray(b'0'),), (bytearray(b'1'),)]
out = []
for i in result:
out.append(str(int(i[0], 2)))
print(out)
輸出:
['0', '0', '1']
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/468616.html
