Ich versuche, einen dynamischen Wert (statische Zeichen) aus einer CSV-Datei in einer bestimmten Spalte zu extrahieren und den Wert auf einen anderen CSV auszugeben.'~' führt zu null Ergebnissen in Python-Skript
Das Datenelement, das ich extrahieren möchte, ist '12385730561818101591' aus dem Wert 'callback=B~12385730561818101591
' in einer bestimmten Spalte.
Ich habe das folgende Python-Skript geschrieben, aber die Ausgabeergebnisse sind immer leer. Der Regex "=(~[0-9]+)
" wurde validiert, um den Wert "12385730561818101591" erfolgreich herauszuziehen. Dies wurde an www.regex101.com
getestet.
Wenn ich dies in Python verwende, werden in der Ausgabedatei keine Ergebnisse angezeigt. Ich habe das Gefühl, das '~' verursacht den Fehler. Als ich in der ursprünglichen CSV-Datei nach '~
' suchte, wurden keine Ergebnisse gefunden, aber es ist da!
Kann die Gemeinschaft mir mit folgendem helfen:
(1) Ursache für keine Ausgabe ermitteln und überprüfen, ob ‚~‘ ist das Problem. Könnte das Problem auch die Art sein, wie ich die Reihen spalte? Ich bin mir nicht sicher, ob die Zeilen durch ";" Anstatt von ','.
import csv
import sys
import ast
import re
filename1 = open("example.csv", "w")
with open('example1.csv') as csvfile:
data = None
patterns = '=(~[0-9]+)'
data1= csv.reader(csvfile)
for row in data1:
var1 = row[57]
for item in var1.split(','):
if re.search(patterns, item):
for data in item:
if 'common' in data:
filename1.write(data + '\n')
filename1.close()
Können Sie erste 2-3 Zeilen Ihrer CSV-Datei enthalten? – MYGz
Die Tilde verursacht keine besonderen Probleme, Ihr Muster ist falsch, das ist das Problem. Wie beschreiben Sie das B nach dem '=' in Ihrem Muster? –
Um zu wissen, was das Trennzeichen ist, sehen Sie sich Ihre Datei an. –