0

I have a table of tweet data my_tweets containing these columns: tweet_id, text, created_at, sentiment

My tweet data is being streamed live and simultaneously inserted into the table. I am writing code using Vader to get the sentiment of the text. At the moment, tweet_id, text, and created_at are all populated.

I would like to use this query: SELECT * FROM my_tweets WHERE sentiment is null in MySQL to get rows where sentiment is null and insert the sentiment from Vader.

Any suggestions on how I can go about this?

My program currently looks like this:

getTweetSentiment():
   #my code
   return score

addSentimentToDatabase():
   try:
      con = mysql.connector.connect(host = h, database = db, user = un, password = pw)
      query = ("SELECT * FROM my_tweets WHERE sentiment is null")
      #need to insert sentiment based on what the query returns
   except error as e:
      print(e)
   

1 Answer 1

1

As you put it this cannot be done in one go, you would have to use several steps.

  1. Save the data in a DataFrame: Return the results, because you are doing a data science related application and AI I recommend you to use pd.read_sql (the documentation) from Pandas to pass the result to a DataFrame.
import pandas as pd

con = mysql.connector.connect(host = h, database = db, user = un, password = pw)
query = ("SELECT * FROM my_tweets WHERE sentiment is null")
df_query = pd.read_sql(query,con)
  1. Perform the operations you make with the data.

  2. Insert the results. I recommend you to do it in a different def so that the quality and readability of your code is better. This documentation explains how to make these insertions.

I hope I have helped you!

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.