JavaEar 专注于收集分享传播有价值的技术资料

TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'

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

When I execute above python script, I am getting error

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'

The input I am passing to query_result got from a salesforce soap Api.

Please help me to resolve this issue.. Thanks in advance

1个回答

    最佳答案
  1. Change your import statement from:

    from datetime import datetime
    

    to

    import datetime
    

    As when you say from datetime import datetime you are just importing one method and that and not the whole module. And you haven't imported the date method. You could also do this:

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