Spaces:
Sleeping
Sleeping
import streamlit as st | |
import requests | |
import pandas as pd | |
# Function to query the dictionary | |
def query_dictionary(word): | |
if not word: | |
return [] # Return empty if no word is entered to avoid unnecessary API calls | |
url = f'https://api.dictionaryapi.dev/api/v2/entries/en/{word}' | |
response = requests.get(url) | |
if response.status_code == 200: | |
return response.json() | |
else: | |
st.error(f"Query failed, status code: {response.status_code}") | |
return [] # Return empty list on failure | |
st.title("Dictionary Query") | |
word = st.text_input("Please enter the word to query") | |
if word: # Only query the dictionary if a word has been entered | |
data = query_dictionary(word) | |
data_list = [] | |
for item in data: | |
word_item = item['word'] | |
for phonetic in item['phonetics']: | |
text = phonetic.get('text', '') | |
for meaning in item['meanings']: | |
part_of_speech = meaning['partOfSpeech'] | |
for definition in meaning['definitions']: | |
def_text = definition['definition'] | |
example = definition.get('example', '') | |
data_list.append({ | |
'Word': word_item, | |
'Phonetic': text, | |
'PartOfSpeech': part_of_speech, | |
'Definition': def_text, | |
'Example': example | |
}) | |
if data_list: | |
df = pd.DataFrame(data_list) | |
df = df.drop_duplicates() | |
st.dataframe(df) # Display the table | |
else: | |
st.write("No results found for the entered word.") | |