简体   繁体   中英

Exporting data as CSV file from ServiceNow instance using Python

I have some data in an instance that I would like to export to a CSV file using Python and the REST API. I wish to use REST, because there are some rows missing when emailed as a.CSV file.The query gives me 12,000 rows, however, the file that is emailed to me only contains 10,001 rows.

Here is the data I wish to export to CSV:

在此处输入图像描述

I have added a filter, and it is only about 12,000 rows that I wish to export. This is what I am doing in Python:

user = 'user'
pwd = 'password'





# Set the request parameters
url = 'https://instancename.service-now.com/nav_to.do?uri=%2Fx_snc_instance_dc_test_ci_test_system_list.do&sysparm_query=import_dateONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()^nameSTARTSWITHfb^ORname?CSV'



# Eg. User name="username", Password="password" for this code sample.

requests.get('https://api.github.com/user', auth=('user', 'pwd'))




# Do the HTTP request
response = requests.get(url, auth=(user, pwd))


# Check for HTTP codes other than 200
if response.status_code != 200: 
    print('Status:', response.status_code, 'Headers:', response.headers, 'Error Response:', response.content)
    exit()
    
    
    
# Parse JSON response body 
print(response.content)

However, the output appears to be html and CSS:

在此处输入图像描述

I am still troubleshooting this, and would like to know if my above code is correct, or what needs to be tweaked to have the data exported in a.csv data-frame format and to a csv file. Any suggestions are appreciated. Thank you

ServiceNow will limit exports to 10,000 records by default for performance reasons.

Try adding &sysparm_limit=20000 to your URL.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM