Я не думаю, что вам нужно преобразовывать значения строки в строку, а затем попытаться проанализировать результат с помощью регулярного выражения.Подсказка была, когда вы сказали в своем обновлении, что «Здесь значения строк преобразованы в строку», подразумевая, что они изначально в каком-то другом формате - потому что в результате получается, что они на самом деле tuple
s из двух значений, строки ицелое число.
Если это правильно, тогда вы можете избежать преобразования их в строки, а затем пытаться проанализировать их с помощью регулярного выражения, потому что вы можете получить нужную строку, просто используя сравнительно простое встроенное форматирование строк.Возможности Python должен сделать это.
Вот что я имею в виду:
# Raw row data retrieved from database.
rows = [('FMC2H-OHC-100018-00', 2),
('FMC2H-OHC-100027-00', 0),
('FMC2H-OHC-100033-00', 0),
('FMC2H-OHC-100032-00', 20),
('FMC2H-OHC-100017-00', 16)]
for row in rows:
result = '{}, {}'.format(*row) # Convert data in row to a formatted string.
print(result)
Вывод:
FMC2H-OHC-100018-00, 2
FMC2H-OHC-100027-00, 0
FMC2H-OHC-100033-00, 0
FMC2H-OHC-100032-00, 20
FMC2H-OHC-100017-00, 16