Home > Back-end >  How to delete quotes and double quotes from dataframe
How to delete quotes and double quotes from dataframe

Time:03-14

I want to delete all quotes in dataframe before saving it to csv file. I don't know why I didn't succeed. this is my code:

import re
import pandas as pd
import numpy as np

df = pd.read_table("data.txt")
df["hashtags"] = df["tweet"].str.findall(r"#(\w )")
df["mentions"] = df["tweet"].str.findall(r"@(\w )")
replacements = {
    "tweet": {
        r"@(\w )": "",
        r"@": "",
        r"#": "",
        r"-": "",
        r'"': '',# this is for quotes
    }
}

df.replace(replacements, regex=True, inplace=True)

df.to_csv("out.txt", index=False)
print(df) 

this an example of the output from the text file. I noticed that quotes are being added not deleted, like for example the quotes in "['Zeynep', 'Orkan', 'Sturm']". Does anyone has an idea what is going on? this is a sample of the out.txt

"Für viele wäre es ein Alptraum – für Höhlenforscher ist es nichts ganz Ungewöhnliches, in einer Höhle festzusitzen. Für drei Experten aus Polen wird die Lamprechtshöhle in Österreich zur Falle. Fachleute sehen sie nicht in ernster Gefahr. ",[],[]
"Das wird ein teurer Ausflug mit dem Gefährt, das eigentlich nur 25 km/h schnell sein darf. ",[],[]
Beim Atletico Madrids Niederlage gegen Levante krachte Gegenspieler Duarte auf Cunha drauf. Der Brasilianer muss mit Bänderdehnung einige Wochen aussetzen. ,[],[]
"Das Spektrum der Vorschläge ist breit, eine Impfpflicht ohne Wenn und Aber wird nur in einer der fünf Vorlagen befürwortet. ",['Impfpflicht'],[]
Der Verteidiger fällt beim Härtespiel am Sonntag gegen RB Leipzig aus. Für ihn muss wieder Youngster Linus Gechter ran. hertha BSCRBL ,"['hertha', 'BSCRBL']",[]
"Eigentlich wollte RTL die Fans noch raten lassen, doch ein Foto auf der StreamingPlattform RTL  verrät bereits alle Gesichter. CoupleChallenge ",['CoupleChallenge'],[]
"Er gehörte zu der Mannschaft, die 2019 sensationell die Klasse in der 3. Liga hielt. Jetzt stellt er sich einer neuen Herausforderung. CoupleChallenge ",['CoupleChallenge'],[]
"Kaum eine Atempause, schon wütet der nächste Wintersturm. Zeynep  ",['Zeynep'],[]
Eigentlich tritt Florian Silbereisen sehr regelmäßig in der ARD auf. Doch jetzt macht er lange Pause. ,[],[]
Berliner Frisöre wollen endlich wieder allen die Haare schneiden – Schwarzarbeit ist die Alternative ,[],[]
"Als erste Charge erwartet die Bundesregierung 1,4 Millionen Dosen. Novavax  ",['Novavax'],[]
"Laut einem Bericht soll das von Ischinger gegründete Unternehmen Agora versucht haben, auf der Konferenz Waffendeals zu vermitteln. ",['Agora'],[]
"USBeamter des Weißen Hauses behauptet, der Kreml habe in den vergangenen Tagen seine Truppenpräsenz um „bis zu 7000“ Soldaten aufgestockt. Ukraine  ",['Ukraine'],[]
Die Polizei überprüfte mehrere Verdächtige. ,[],[]
Der Einzelhandel erwartet trotz Wegfalls der 2GRegel „keinen Ansturm“ auf Geschäfte. ,[],[]
"Stufenweise und vorsichtige Rücknahme der Infektionsschutzmaßnahmen gefordert, Fallzahlen können auch wieder steigen. RKI ",['RKI'],[]
Angriffe auf Medienvertreter haben in der CoronaPandemie zugenommen. ,[],[]
"De Sturm wird eine Spur der Verwüstung von Großbritannien bis zur Nordsee ziehen, warnen Experten! Zeynep Orkan Sturm ","['Zeynep', 'Orkan', 'Sturm']",[]

this is a sample of the data.txt

Hier arbeiten Deutsche, Russen und Ukrainer Hand in Hand. Die Firma UniferX aus dem Ostseebad #Nienhagen exportiert seit 20 Jahren Spezialdünger nach Osteuropa. Sie stellt sich auf massive Einschnitte durch die aktuelle #Russland-#Ukraine-Krise ein.  
Nach 14 Jahren auf der Werft wechselt Eric Dörffel den Job und macht sein Hobby zum Beruf. Der #Wismar|er möchte Kinder für den Sport begeistern.  
Ist ein Unglück auf der #Ostsee vor #Nienhagen passiert? Diese Vermutung hatte ein Spaziergänger, als er am Mittwoch einen Rettungsring an den Buhnen treiben sah. Die Einsatzkräfte suchten das Gebiet ab.  
Drei Jahre lang wurde #NordStream2 für mehr als zehn Milliarden Euro gebaut. Ob durch die Doppelröhre jemals auch nur ein Kubikmeter Gas von #Russland nach Deutschland gelangen wird, ist nun sehr fraglich. Fragen und Antworten im Überblick,  
Die Ruinen auf dem ehemaligen Militärgelände im Ostseebad #Boltenhagen sind verschwunden, aber auch etliche Bäume. Das ärgert Anwohner der Baustelle, auf der ein Hotel entstehen wird.  
Bis zum 22. Februar konnten alle Fraktionen der #Stralsund|er Bürgerschaft ihre Kandidaten für die Wahl des neuen Oberbürgermeisters nominieren. Bleibt es bei den bisher bekannten Namen auf dem Wahlzettel?  
Am Dienstag hatte Bundeskanzler Olaf #Scholz den Stopp des Genehmigungsverfahrens für die Gaspipeline #NordStream2 verkündet. Nun will die #Klimastiftung #MecklenburgVorpommern die Unterstützung der Pipeline einstellen.  
Ein knappes halbes Jahr nach dem Rauswurf von Vorstandschef Christian Schmidt werden die Vorgänge an der Rostocker Uni-Klinik nun zu einem Fall für den Landtag. Die Jamaika-Opposition hat einen Untersuchungsausschuss beantragt.    
@nazihunter_161 Was genau haben wir denn falsch recherchiert?

CodePudding user response:

In a Comma-Separated Values—a.k.a. CSV—file, commas are used to delimit values.
If a value contains a comma itself, it must be quoted for the comma to be interpreted unambiguously.

The quotes are added by the CSV writer as needed for the output to be valid CSV. There's nothing to remove.

CodePudding user response:

Try turning off quoting with quoting=csv.QUOTE_NONE:

df.to_csv('out.txt', index=False, quoting=csv.QUOTE_NONE, escapechar='\\')

A line from the resulting file:

tweet,hashtags,mentions
Hier arbeiten Deutsche\, Russen und Ukrainer Hand in Hand. Die Firma UniferX aus dem Ostseebad Nienhagen exportiert seit 20 Jahren Spezialdünger nach Osteuropa. Sie stellt sich auf massive Einschnitte durch die aktuelle RusslandUkraineKrise ein.,[Nienhagen\, Russland\, Ukraine],[]

Note that since you're using commas to separate the cells, it escapes commas that are already inside cells (thus the backslash before some commas, e.g. \,)

  • Related