Demea9000 commited on
Commit
6fb109c
1 Parent(s): de25860

fixed bug that made .csv file broken

Browse files
.idea/misc.xml CHANGED
@@ -1,4 +1,4 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <project version="4">
3
- <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (politweet)" project-jdk-type="Python SDK" />
4
  </project>
 
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (politweet)" project-jdk-type="Python SDK" />
4
  </project>
.idea/politweet.iml CHANGED
@@ -4,8 +4,9 @@
4
  <content url="file://$MODULE_DIR$">
5
  <excludeFolder url="file://$MODULE_DIR$/politweet-environment" />
6
  <excludeFolder url="file://$MODULE_DIR$/env" />
 
7
  </content>
8
- <orderEntry type="jdk" jdkName="Python 3.9 (politweet)" jdkType="Python SDK" />
9
  <orderEntry type="sourceFolder" forTests="false" />
10
  </component>
11
  <component name="PyNamespacePackagesService">
 
4
  <content url="file://$MODULE_DIR$">
5
  <excludeFolder url="file://$MODULE_DIR$/politweet-environment" />
6
  <excludeFolder url="file://$MODULE_DIR$/env" />
7
+ <excludeFolder url="file://$MODULE_DIR$/venv" />
8
  </content>
9
+ <orderEntry type="inheritedJdk" />
10
  <orderEntry type="sourceFolder" forTests="false" />
11
  </component>
12
  <component name="PyNamespacePackagesService">
data/twitterdata.csv DELETED
@@ -1,17 +0,0 @@
1
- id,tweet,date,user_id,username,urls,nlikes,nreplies,nretweets,topic,sentiment,target
2
- 1215952175463108608,SD har förberett för nyval sedan den nygamla Löfvenregeringen tillträdde för ett år sedan. Vi står redo!,2020-01-11 12:02:44,95972673,jimmieakesson,[],856,42,71, 1. swedish politics 2. the social democratic party 3. elections,support,"
3
- The Swedish Democrats"
4
- 1215952136258887680,Menar Vänstern allvar eller ska detta betraktas som mer av substanslöst vapenskrammel? Uppenbart är att väljarna inte är till freds med nuvarande situation. Regeringen såväl som Januariavtalet saknar stöd. Det vore orimligt att låta läget vara oförändrat i ytterligare tre år. https://t.co/4Jy5gxufrb,2020-01-11 12:02:35,95972673,jimmieakesson,[],1200,74,147, 1. swedish politics 2. the left party 3. the government,criticism,Regeringen
5
- 1222901543231344640,Poddintervju med Samtidigt-gänget! Finns där poddar finns osv. ☕ https://t.co/wC7UriRrWE,2020-01-30 16:17:02,95972673,jimmieakesson,[],103,4,8, 1. podcasts 2. interviews 3. sweden,praise,"
6
- The Samtidigt-gänget podcast."
7
- 1222426025877016576,"""Prata inte om medkänsla. Ni valde att prioritera 9 000 vuxna afghanska män som saknar skäl att stanna i Sverige"" https://t.co/Lqlg7mA1eL",2020-01-29 08:47:30,95972673,jimmieakesson,['https://nyheteridag.se/jimmie-akesson-till-morgan-johansson-om-inte-du-har-upptackt-det-sa-ar-sverige-fullt/'],1784,69,227, 1. immigration 2. politics 3. human rights,criticism,"
8
- 1222133730757824514,Sett till det läge Sverige befinner sig i – där vi knappt klarar av att upprätthålla en välfungerande välfärd för våra egna medborgare – menar vi att det är direkt oansvarigt att vilja öka mottagandet av kvotflyktingar. https://t.co/JelLbX3Oe8,2020-01-28 13:26:02,95972673,jimmieakesson,['https://www.svd.se/lat-kommunerna-besluta-nivan-for-kvotflyktingar'],1505,81,222, 1. swedish welfare 2. quotas for refugees,opposition,Regeringen
9
- 1221790690692272129,"Idag är det förintelsens minnesdag och 75 år sedan befrielsen av Auschwitz. Låt oss hedra offren och aldrig glömma de fasor som antisemitismen har orsakat. Vi får heller aldrig acceptera den antisemitism som finns idag, oavsett extremistisk utgångspunkt.",2020-01-27 14:42:55,95972673,jimmieakesson,[],3087,171,268, 1. holocaust 2. anti-semitism,remembrance,N/A
10
- 1220308369778651136,Det är varje oppositionspartis ansvar att minimera skadorna som regeringen Löfven åsamkar Sverige och detta är ett viktigt agerande i den riktningen. Välfärden är en absolut central del av det svenska folkhemsbygget och måste prioriteras.,2020-01-23 12:32:42,95972673,jimmieakesson,[],1709,61,182, 1. swedish politics 2. the opposition's role 3. welfare,opposition,"
11
- 1217404594726281216, https://t.co/AdqzHLMHoW,2020-01-15 12:14:08,95972673,jimmieakesson,[],732,19,97, 1. social media 2. twitter 3. advertising,questions,"
12
- The target of this tweet is the general public."
13
- 1217371452044955648,#pldebatt https://t.co/FQ6pTT0rPk,2020-01-15 10:02:26,95972673,jimmieakesson,[],547,5,76, 1. social media 2. twitter 3. hashtags,statements,"
14
- The target of this tweet is the #pldebatt."
15
- 1217354299145170944,Klockan 09:00 startar årets första partiledardebatt i riksdagen. Se den på lämplig kanal! https://t.co/PzrlR3Vvyd,2020-01-15 08:54:16,95972673,jimmieakesson,[],588,17,32, 1. swedish politics 2. parliamentary debates 3. election season,statements,"
16
- The target of this tweet is the Swedish people."
17
- 1216971561497964550,"Stefan Löfven och @socialdemokrat är återigen Miljöpartiets marionetter när det kommer till viktiga politiska frågor. Detta trots att två av tre svenskar vill behålla kärnkraften, inklusive Socialdemokraternas egna väljare. https://t.co/L4p8yHgykl",2020-01-14 07:33:25,95972673,jimmieakesson,['https://www.dn.se/debatt/sd-leder-oppositionen-i-ett-forsok-att-radda-ringhals/'],1138,27,158, 1. swedish politics 2. nuclear power 3. social democracy,criticism,Miljöpartiet
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
textclassifier/TextClassifier.py CHANGED
@@ -175,6 +175,7 @@ class TextClassifier:
175
  elif analyzed_sentiment.lower() == "the swedish government":
176
  analyzed_sentiment = "Regeringen"
177
 
 
178
  return analyzed_sentiment
179
 
180
  def analyze_sentiment_of_tweets(self):
@@ -284,7 +285,7 @@ class TextClassifier:
284
  """
285
  # Check if file exists, if not, create it
286
  if os.path.exists(filename):
287
- already_classified_df = pd.read_csv(filename)
288
  print("Already classified tweets: {}".format(already_classified_df.shape[0]))
289
  # Create a temporary df where values from already_classified_df that are not it self.df are stored
290
  temp_df = self.df[self.df['id'].isin(already_classified_df['id'])]
@@ -326,5 +327,5 @@ class TextClassifier:
326
 
327
 
328
  if __name__ == "__main__":
329
- tc = TextClassifier(from_date="2020-01-14", to_date="2020-01-31", user_name='jimmieakesson', num_tweets=20)
330
  tc.run_main_pipeline()
 
175
  elif analyzed_sentiment.lower() == "the swedish government":
176
  analyzed_sentiment = "Regeringen"
177
 
178
+ analyzed_sentiment = self.cleanup_sentiment_results(analyzed_sentiment)
179
  return analyzed_sentiment
180
 
181
  def analyze_sentiment_of_tweets(self):
 
285
  """
286
  # Check if file exists, if not, create it
287
  if os.path.exists(filename):
288
+ already_classified_df = pd.read_csv(filename, on_bad_lines='skip')
289
  print("Already classified tweets: {}".format(already_classified_df.shape[0]))
290
  # Create a temporary df where values from already_classified_df that are not it self.df are stored
291
  temp_df = self.df[self.df['id'].isin(already_classified_df['id'])]
 
327
 
328
 
329
  if __name__ == "__main__":
330
+ tc = TextClassifier(from_date="2020-01-01", to_date="2020-01-31", user_name='jimmieakesson', num_tweets=20)
331
  tc.run_main_pipeline()