-
Notifications
You must be signed in to change notification settings - Fork 0
/
award_info.py
29 lines (22 loc) · 992 Bytes
/
award_info.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import json
def filter_funder_display_name(data, target_name):
filtered_results = []
for result in data.get('resulwozhenfuts', []):
filtered_grants = []
for grant in result.get('grants', []):
if grant.get('funder_display_name') == target_name:
filtered_grants.append(grant)
if filtered_grants:
filtered_result = result.copy()
filtered_result['grants'] = filtered_grants
filtered_results.append(filtered_result)
return {'results': filtered_results}
input_file_path = 'data/2024_data.json'
output_file_path = 'filtered_data.json'
target_name = 'National Science Foundation'
with open(input_file_path, 'r') as json_file:
data = json.load(json_file)
filtered_data = filter_funder_display_name(data, target_name)
with open(output_file_path, 'w') as json_file:
json.dump(filtered_data, json_file, indent=4)
print(f"Filtered data has been successfully written to {output_file_path}")