TypeError:描述符' date'需要一个&datetime.datetime'对象但收到了一个' int'

时间:2017-07-28 19:52:35

标签: python salesforce

import beatbox
import pandas as pd
import numpy as np
from simple_salesforce import Salesforce
from datetime import *
import datetime as dt
import mysql.connector
from mysql.connector import Error
from datetime import datetime
query_result= [{'End_Date__c': datetime.date(2018, 7, 20), 'User_Email__c': 'jsmith@test-account.com', 'ProductVersion__c': '1', 'Product_Name__c': 'Payor', 'itil_b__Account__r': {'type': 'Account', 'Id': '', 'Customer_Short_Name__c': 'TESTACCT'}, 'Target_Environment__r': {'type': 'Environment__c', 'Id': '', 'Name': 'TEST-PROD'}, 'type': 'itil_b__Fulfillment__c', 'Id': 'a3sc0000000CiZpAAK'}, {'End_Date__c': datetime.date(2018, 7, 19), 'User_Email__c': 'jsmith@test-account.com', 'ProductVersion__c': '4', 'Product_Name__c': 'CareManager', 'itil_b__Account__r': {'type': 'Account', 'Id': '', 'Customer_Short_Name__c': 'TESTACCT'}, 'Target_Environment__r': {'type': 'Environment__c', 'Id': '', 'Name': 'TEST-NONPROD'}, 'type': 'itil_b__Fulfillment__c', 'Id': 'a3sc0000000CiAyAAK'}]

record=query_result['records']
df=pd.DataFrame(records)
print df

当我执行上面的python脚本时,我收到错误

Traceback (most recent call last):
  File "test.py", line 10, in <module>
    query_result= [{'End_Date__c': datetime.date(2018, 7, 20), 'User_Email__c': 'jsmith@test-account.com', 'ProductVersion__c': '1', 'Product_Name__c': 'Payor', 'itil_b__Account__r': {'type': 'Account', 'Id': '', 'Customer_Short_Name__c': 'TESTACCT'}, 'Target_Environment__r': {'type': 'Environment__c', 'Id': '', 'Name': 'TEST-PROD'}, 'type': 'itil_b__Fulfillment__c', 'Id': 'a3sc0000000CiZpAAK'},  {'End_Date__c':datetime.date(2018, 7, 19), 'User_Email__c': 'jsmith@test-account.com', 'ProductVersion__c': '4', 'Product_Name__c': 'CareManager','itil_b__Account__r': {'type': 'Account', 'Id': '', 'Customer_Short_Name__c': 'TESTACCT'}, 'Target_Environment__r': {'type': 'Environment__c', 'Id': '', 'Name': 'TEST-NONPROD'}, 'type': 'itil_b__Fulfillment__c', 'Id': 'a3sc0000000CiAyAAK'}]
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'

我传递给query_result的输入来自salesforce soap Api。

请帮我解决这个问题.. 提前致谢

2 个答案:

答案 0 :(得分:7)

从以下位置更改您的导入声明:

from datetime import datetime

import datetime

当你说from datetime import datetime时,你只是导入一个方法,而不是整个模块。而且您还没有导入date方法。 你也可以这样做:

>>> from datetime import date
>>> date(2018, 9, 20)
datetime.date(2018, 9, 20)

答案 1 :(得分:0)

import datetime

datetime(2018, 7, 20).date()