Here's an example Python code that allows you to search for a song by name and popularity. The code assumes that you have a CSV file containing song data with columns for "name" and "popularity", and that the file is named "song_data.csv".
```python
import csv
def search_songs_by_name_and_popularity(name, min_popularity):
"""Searches for songs with the given name and popularity above the given minimum"""
with open('song_data.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile)
matches = []
for row in reader:
if row['name'].lower() == name.lower() and int(row['popularity']) >= min_popularity:
matches.append(row)
return matches
# Example usage:
results = search_songs_by_name_and_popularity('Shape of You', 80)
for result in results:
print(result['name'], result['popularity'])
```
The `search_songs_by_name_and_popularity()` function takes two arguments: `name` and `min_popularity`. The `name` argument is the name of the song you want to search for, and `min_popularity` is the minimum popularity score that you want to search for.
The function opens the "song_data.csv" file using the `csv` module and reads each row as a dictionary using `csv.DictReader()`. It then checks if the name of the song in the current row matches the `name` argument (case-insensitive) and if the popularity score in the current row is greater than or equal to the `min_popularity` argument. If both conditions are true, it adds the row to a list of matches.
Finally, the function returns the list of matches. You can then loop through the results and print out the name and popularity score of each matching song.