簡體   English   中英

如何使用cx_oracle將python變量中存儲的數據發送到oracle數據庫表?

[英]How to send the data stored in python variables to oracle database table using cx_oracle?

我已經使用api從網站上提取了一些聯系信息,並使用python打印了它,但是我需要它來將數據發送到我已經創建了表的oracle數據庫中。 如果可以使用cx_oracle這樣做將非常有幫助。

我想要數據庫表中的輸出。

    import requests
    url = "https://********.api-us1.com/api/3/contacts? 
    include=fieldValues&limit=100&orders[cdate]=DESC"
    httpHeader={'Api-Token''3d229bde5b7f8e03ada8d0ef5ac0be70bdf1693f3c781caf9255237*******c03a438da'}
    response = requests.get(url,headers=httpHeader).json()
    number_of_contacts_str        = response['meta']['total']
    number_of_contacts            = int(number_of_contacts_str)
    i=0
    print()
    print('{:^10}{:^20}{:^20}{:^14}{:^30}{:^20}{:^20}'.format('Sl.No','First Name','Last Name','Phone','Email','Course','Date'))
    print()
    while i<number_of_contacts:
        date            = response['contacts'][i]['cdate']
        email           = response['contacts'][i]['email']
        phone           = response['contacts'][i]['phone']
        firstName       = response['contacts'][i]['firstName']
        lastName        = response['contacts'][i]['lastName']
        course          = response['fieldValues'][i]['value']
        date_response1  = response['fieldValues'][i]['cdate']
        print('{:^10}{:<20}{:<20}{:<14}{:<30}{:<20}{:<20}'.format((i+1),firstName,lastName,phone,email,course,date))
        #print(response)
        #print(date)
        i+=1

輸出是

    Sl.No        First Name          Last Name          Phone                 Email                    Course               Date        

1     NameTwentyThree     Wayne               7867904678    nametwentythree@gmail.com     Twenty three        2018-12-08T14:51:39-06:00
2     NameTwentyTwo       Arigato             6578967543    nametwentytwo@gmail.com       Twenty two          2018-12-08T14:50:09-06:00
3     NameTwentyOne       Parker              7856748397    nametwentyone@gmail.com       Twenty one          2018-12-08T14:48:56-06:00
4     NameTwenty          Konichiwa           6748397289    nametwenty@gmail.com          Twenty              2018-12-08T14:46:46-06:00
5     NameNinteen         Lee                 9867456738    nameninteen@gmail.com         Ninteen             2018-12-08T14:45:50-06:00
6     NameEighteen        Shroff              8695047837    nameeighteen@gmail.com        Eighteen            2018-12-08T14:44:41-06:00
7     NameSeventeen       Kapoor              8746983767    nameseventeen@gmail.com       Seventeen           2018-12-08T14:43:46-06:00
8     NameSixteen         Deb                 7859478938    namesixteen@gmail.com         Sixteen             2018-12-08T14:42:49-06:00
9     NameFifteen         Chan                8758905789    namefifteen@gmail.com         Fifteen             2018-12-08T14:41:53-06:00
10    NameFourteen        Kimmel              7865749046    namefourteen@gmail.com        Fourteen            2018-12-08T14:40:51-06:00
11    NameThirteen        Jackson             6789564567    namethirteen@gmail.com        Thirteen            2018-12-08T14:37:59-06:00
12    NameTwelve          Roy                 5643789567    nameatwelve@gmail.com         Twelve              2018-12-08T14:04:51-06:00
13    NameEleven          Sarkar              7678956745    nameeleven@gmail.com          Eleven              2018-12-08T14:03:59-06:00
14    NameTen             Maheshwari          8796568987    nameten@gmail.com             Ten                 2018-12-08T14:02:05-06:00
15    NameNine            Mehta               7657875357    namenine@gmail.com            Nine                2018-12-08T14:01:19-06:00
16    NameEight           Ahmed               6758947383    nameeight@gmail.com           Eight               2018-12-08T14:00:29-06:00
17    NameSeven           Gogoi               6759483789    nameseven@gmail.com           Seven               2018-12-08T13:59:38-06:00
18    NmaeSix             Pait                6759738399    namesix@gmail.com             Six                 2018-12-08T13:58:56-06:00
19    NameFive            Roshan              6784637909    namefive@gmail.com            Five                2018-12-08T13:58:14-06:00
20    NameTwo             Sharma              8578936765    nametwo@gmail.com             Two                 2018-12-08T13:55:55-06:00
21    NameOne             Singh               7859473939    nameone@gmail.com             One                 2018-12-08T13:55:05-06:00

如果您已經成功連接到數據庫,那么您要做的就是建立一個元組列表,看起來像下面這樣:

data = [
    ('NameTwentyThree', 'Wayne', '7867904678', 'nametwentythree@gmail.com'),
    ('NameTwentyTwo', 'Arigato', '6578967543', 'nametwentytwo@gmail.com'),
]

cursor.executemany("""
    insert into TheTable (FirstName, LastName, PhoneNumber, Email)
    values (:1, :2, :3, :4, :5)""", data)

您可以使用從其他API獲得的結果附加到列表中,從而建立數據。 希望有道理!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM