我正在尝试使用python从mssql服务器获取数据,其中一列包含UUID。数据以字典列表的形式获取。并且第一列值,即用于第一键的值具有UUID数据。
data = [{
'AGENCY_ID': UUID('cbaf8fb4-7ada-4f4c-9726-fea39ed638f0'),
'EINVOICE_CODE': '',
'AGENCY_NAME': 'Zuru Inc.',
'MAIN_PHONE_NUMBER': '',
'FAX_NUMBER': '',
'WEBSITE': '',
'DEFAULT_BILLING_CYCLE_INT': 235,
'DEFAULT_BILLING_CALENDAR_INT': 128,
'DEFAULT_CASH_COMMISSION': 0.0,
'DEFAULT_TRADE_COMMISSION': 0.0,
'EXTERNAL_AGENCY_CODE': '',
'MICR_CODE': '',
'ROW_STATE': 1,
'CREATE_DATE': datetime.datetime(2016, 10, 18, 15, 45),
'CREATE_BY': 'ObjectServer_KIDS_APP01/ongh004:SWNA\\$woadmin:dbo',
'UPDATE_DATE': datetime.datetime(2016, 10, 18, 15, 44, 59, 290000),
'UPDATE_BY': 'ObjectServer_KIDS_APP01/ongh004:SWNA\\$woadmin:dbo',
'UPDATE_COUNT': 0,
'IS_PENDING': 0,
'EI_EXPORT_TYPE': 6,
'AGENCY_REPORTING_NAME': 'Zuru Inc.',
'DUNS_NUMBER': '',
'TCODE': '',
'AGENCY_EXTERNAL_ID': '',
'MAIN_ADDRESS_INT': 2250,
'GLOBAL_AGENCY_ID': None,
'STATION_ARRAY': b '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f',
'LOCKBOX_PARENT_INT': None,
'AGENCY_TYPE_INT': 774,
'AGENCY_GROUP': '',
'OVERRIDE_CASH_PAYMENT_TERMS_INT': None,
'DEFAULT_OPTIONAL_EDI_CODES': ''
}]
这就是我正在尝试的。
rec = [dict(row) for row in list]
for x in rec:
print(x['AGENCY_ID'])
它给出了正确的打印值,为 cbaf8fb4-7ada-4f4c-9726-fea39ed638f0
在将数据写入JSON文件时,它会在字符串更改的UUID数据的位置给出“无”。有什么办法可以使数据写入时不带“ none”并具有适当的值?
答案 0 :(得分:0)
尝试在写入之前将您的UUID变量转换为字符串
foo = str(x['AGENCY_ID'])
答案 1 :(得分:0)
这是因为message1
的类型为x[''AGENCY_ID]
,而不是字符串。您需要使用UUID
函数将其强制转换为字符串。例如:
str