I’m accessing the Airtable API using a Python script below:
import requests
from pprint import pprint
from airtable import Airtable
base_key = 'BASE_KEY'
table_name = 'Events List'
api_key = 'API_KEY'
airtable = Airtable(base_key, table_name, api_key)
pages = airtable.get_iter(maxRecords=3, sort=t"Date"])
for page in pages:
for record in page:
pprint(record)
The above successfully retrieves the first 3 records in the table as follows:
{'createdTime': '2020-08-15T10:04:49.000Z',
'fields': {'Date': '2020-08-15T19:00:00.000Z',
'Description': 'Lorem ipsum dolor sit amet,',
'ID': 20,
'Title': 'Proin laoreet facilisis cursus',
'URL': 'https://www.example1.com/'},
'id': 'rec4oT3PiXXXXX9ph'}
{'createdTime': '2020-08-15T10:05:50.000Z',
'fields': {'Date': '2020-08-15T20:00:00.000Z',
'Description': 'Pellentesque viverra gravida lectus',
'ID': 21,
'Title': 'Curabitur porttitor vehicula urna',
'URL': 'https://www.example2.com/'},
'id': 'recO21GCXXXXX2pv1'}
{'createdTime': '2020-08-15T19:40:26.000Z',
'fields': {'Date': '2020-08-17T17:00:00.000Z',
'Description': 'Aliquam condimentum iaculis odio',
'ID': 23,
'Title': 'Suspendisse aliquet porta risus',
'URL': 'https://www.example2.com/'},
'id': 'recvduwKBFXXXXX8j'}
I want to do a number of things with the data:
a) I want to retrieve all records where (‘Date’ >= NOW) to pull up events that are in the future.
b) I would like to order the records retrieved by ‘Date’
c) I would like to format the data retrieved - something like this:
Date: '2020-08-15T19:00:00.000Z'
Description: 'Lorem ipsum dolor sit amet'
Title: 'Proin laoreet facilisis cursus'
URL: 'https://www.example1.com/'
Date: '2020-08-15T20:00:00.000Z'
Description: 'Pellentesque viverra gravida lectus'
Title: 'Curabitur porttitor vehicula urna'
URL: 'https://www.example2.com/'
Date': '2020-08-17T17:00:00.000Z'
Description': 'Aliquam condimentum iaculis odio'
Title': 'Suspendisse aliquet porta risus'
URL': 'https://www.example2.com/'
I can filter out unwanted fields using the following:
at.get(table_name, table_name, record_id=None, limit=0, offset=None,
filter_by_formula=None, view=None, max_records=0, fields=0])
I just need a hint about how to filter on the date field and how to format the outputted data.
Hope you can help and thanks in advance.