2016-07-08 2 views
0

Die Datei hat eine URL, die Kommas enthält. Zum Beispiel: ~ oref = https://tuclothing.tests.co.uk/c/Girls/Girls_Underwear_Socks&Tights?INITD=GNav-CW-GrlsUnderwear&title=Underwear,+Socks+&+TightsPython - Wie liest man eine CSV-Datei, die durch Kommas getrennt ist, die Kommas innerhalb der Werte haben?

Zwischen Unterwäsche und + Socken gibt es ein Komma, das mein Leben nicht einfach macht.

Gibt es eine Möglichkeit für den Leser, um anzuzeigen (Pandas, CSV reader..etc), dass die gesamte URL nur ein Wert ist?

Dies ist eine größere Probe mit Säulen und Werten:

Event Time,User ID,Advertiser ID,TRAN Value,Other Data,ORD Value,Interaction Time,Conversion ID,Segment Value 1,Floodlight Configuration,Event Type,Event Sub-Type,DBM Auction ID,DBM Request Time,DBM Billable Cost (Partner Currency),DBM Billable Cost (Advertiser Currency), 
1.47E+15,CAESEKoMzQamRFTrkbdTDT5F-gM,2934701,,~oref=https://tuclothing.tests.co.uk/c/NewIn/NewIn_Womens?q=%3AnewArrivals&page=2&size=24,4.60E+12,1.47E+15,1,0,940892,CONVERSION,POSTCLICK,,,0,0, 
1.47E+15,CAESEKQhGXdLq0FitBKF5EPPfgs,2934701,,~oref=https://tuclothing.tests.co.uk/c/Women/Women_Accessories?INITD=GNav-WW-Accesrs&q=%3AnewArrivals&title=Accessories&mkwid=sv5biFf2y_dm&pcrid=90361315613&pkw=leather%20bag&pmt=e&med=Search&src=Google&adg=Womens_Accessories&kw=leather+bag&cmp=TU_Women_Accessories&adb_src=4,4.73E+12,1.47E+15,1,0,940892,CONVERSION,POSTCLICK,,,0,0, 
1.47E+15,CAESEEpNRaLne21k6juip9qfAos,2934701,,num=16512910;~oref=https://tuclothing.tests.co.uk/,1,1.47E+15,1,0,940892,CONVERSION,POSTCLICK,,,0,0, 
1.47E+15,CAESEJ3a2YRrPSSeeRUFHDSoXNQ,2934701,,~oref=https://tuclothing.tests.co.uk/c/Girls/Girls_Underwear_Socks&Tights?INITD=GNav-CW-GrlsUnderwear&title=Underwear,+Socks+&+Tights,8.12E+12,1.47E+15,1,0,940892,CONVERSION,POSTCLICK,,0,0,0 
1.47E+15,CAESEGmwaNjTvIrQ3MoIvqiRC8U,2934701,,~oref=https://tuclothing.tests.co.uk/login/checkout,1.75E+12,1.47E+15,1,0,940892,CONVERSION,POSTCLICK,,,0,0, 
1.47E+15,CAESEM3G-Nh6Q0OhboLyOhtmtiI,2934701,,~oref=https://3984747.fls.doubleclick.net/activityi;~oref=http%3A%2F%2Fwww.tests.co.uk%2Fshop%2Fgb%2Fgroceries%2Ffrozen-%2Fbeef--pork---lamb,3.74E+12,1.47E+15,1,0,940892,CONVERSION,POSTCLICK,,,0,0, 
1.47E+15,CAESENlK7oc-ygl637Y2is3a90c,2934701,,~oref=https://tuclothing.tests.co.uk/,5.10E+12,1.47E+15,1,0,940892,CONVERSION,POSTCLICK,,,0,0, 
+0

steuern Sie die Ausgabe der CSV-Datei? Oder wird diese Datei von einem Drittanbieter erstellt, den Sie nicht über den Exportprozess steuern können? – sadmicrowave

+0

Leider wird es von einem Drittanbieter generiert, den ich nicht unter Kontrolle habe. – ebertbm

+1

Wenn Sie den Datentyp jeder Spalte kennen, dann können Sie für jedes Komma prüfen, ob die kommenden Zeichen nach rechts Typ (der nächsten Spalte), wenn nicht, dann gehört das Komma gehört zum Inhalt. –

Antwort

1

Es sieht aus wie in diesem Fall, die nur durch Kommas, die Sie Probleme haben mit einer URL befindet. Sie können Ihre csv Datei über eine Präprozessor-Methode ausführen, die Kommas in Ihren URLs ausblendet oder URL-Kodierungen verwendet.

Persönlich würde ich für die URL-Kodierungsmethode entscheiden, die das Komma in %2E konvertieren wird, auf diese Weise haben Sie kein Komma in Ihrer URL, wenn Sie Ihre CSV-Zeile Werte lesen, noch die URL noch funktioniert Link zur Referenz/Zielseite.

Wenn Sie dieses Problem mit anderen Bereichen hat (kein URL) oder in anderen unbekannten/zufälligen Orten in der CSV-Reihe, dann wäre die Lösung überhaupt nicht einfach sein. Da Sie jedoch genau wissen, wo das Problem jedes Mal auftritt, können Sie eine statische Suche für dieses Zeichen durchführen und ersetzen, wenn es in diesem bestimmten Feld gefunden wird.