Dateinamen in jede Zeile schreiben
Genau. Und das obere habe ich. Aber ich will das untere haben. Alle " haben bei mir nur einen Zweck: Sie zerstören meine Daten, (und markieren inhaltlich Textstellen). Das zweite ist aber zu vernachlässigen.
UPDATE: Rechtschreibung.
UPDATE: Rechtschreibung.
Zuletzt geändert von kidchino am Donnerstag 8. Januar 2015, 22:00, insgesamt 2-mal geändert.
@kidchino: Die Aussage macht so keinen Sinn. Das sind ja beides verschiedene Daten wie schon gesagt, und wenn Du korrekt gequotete Datensätze hast, willst Du die ja sicher *nicht* kaputt machen, oder in die andere Variante überführen die etwas anderes bedeutet.
Nach dem was Du bisher über die Daten gesagt/gezeigt hast haben die " *in* den Feldern auch nicht den Sinn irgendetwas kaputt zu machen, sondern sind ganz einfach Bestandteil der Daten weil die in den Texten die eingescannt wurden halt so drin stehen.
Nach dem was Du bisher über die Daten gesagt/gezeigt hast haben die " *in* den Feldern auch nicht den Sinn irgendetwas kaputt zu machen, sondern sind ganz einfach Bestandteil der Daten weil die in den Texten die eingescannt wurden halt so drin stehen.
Hi,
ich hab mal eine Datei vor und nach dem Skript hochgeladen. (Nach dem Skript ist die Datei *.nameadded)
https://dl.dropboxusercontent.com/u/7277609/paper.rar
Zeile 454 (bei 0 beginnend) sieht so aus:
Und ich bin mir ziemlich sicher, dass hier der Fehler ist, da hier dann auch nicht mehr die Werte (["" + dateiname + compid + nummer + subname]) hinten hinzugefügt werden. Ich bin der Meinung, dass der Anführungszeichen der Auslöser ist, da es nicht geschlossen wird. Es ist da, weil es wahrscheinlich eingescannt wurde und aus dem einen geworden sind. Deshalb würde ich es gern entfernen bzw. alle. 
Ungewollte Anführungszeichen kommen sehr viel häufiger vor als eventuelle und nicht gewollte TabStopps, die vorher in Anführungszeichen waren. Und die könnte ich ja Anhand der Anzahl der Spalten in jeder Zeile finden und per Hand löschen.
Mit dem Beispiel oben kann ich es hoffentlich besser erklären.
VG
ich hab mal eine Datei vor und nach dem Skript hochgeladen. (Nach dem Skript ist die Datei *.nameadded)
https://dl.dropboxusercontent.com/u/7277609/paper.rar
Zeile 454 (bei 0 beginnend) sieht so aus:
Code: Alles auswählen
J Coughlin, G; Schambony, S Coughlin, Greg; Schambony, Simon NEW UV ABSORBER FOR PET PACKAGING: BETTER PROTECTION WITH LESS DISCOLORATION JOURNAL OF PLASTIC FILM & SHEETING English Article UV absorber; PET packaging; content protection "UVA S-Pack'' is a new UV absorber additive designed to protect PET packaging content from the damaging effects of UV radiation. Compared to conventional UV absorbers that have been used for this purpose, this new product offers broader UV protection with less discoloration. The performance of this new UV absorber in content protection was demonstrated in exposure tests with vitamins and colorants. The product is also FDA-cleared for use in PET for food-contact applications. Due to this product's unique absorption and emission profile, it is expected to also offer suitable performance in polyester-based films and sheets. [Coughlin, Greg] BASF Corp, Florham Pk, NJ USA; [Schambony, Simon] BASF SE, Ludwigshafen, Germany Coughlin, G (reprint author), BASF Corp, Florham Pk, NJ USA. greg.coughlin@basf.com 13 2 2 SAGE PUBLICATIONS LTD LONDON 1 OLIVERS YARD, 55 CITY ROAD, LONDON EC1Y 1SP, ENGLAND 8756-0879 J PLAST FILM SHEET J. Plast. Film Sheeting JUL-OCT 2008 24 3-4 227 238 10.1177/8756087908101216 12 Materials Science, Coatings & Films Materials Science V28NT WOS:000208688200006
Code: Alles auswählen
"UVA S-Pack''
Code: Alles auswählen
" zwei ''

Ungewollte Anführungszeichen kommen sehr viel häufiger vor als eventuelle und nicht gewollte TabStopps, die vorher in Anführungszeichen waren. Und die könnte ich ja Anhand der Anzahl der Spalten in jeder Zeile finden und per Hand löschen.
Mit dem Beispiel oben kann ich es hoffentlich besser erklären.
VG
@kidchino: Wenn man sich die Datei anschaut dann werden dort offensichtlich keine Anführungszeichen zum ”quoting” von Feldinhalten verwendet. Die Datei lässt sich ohne „quoting” problemlos mit dem `csv`-Modul einlesen und hat eine Kopfzeile mit 59 Elementen und 500 Datensätze mit jeweils genau 60 Werten. Diese Datei enthält dann also sehr wahrscheinlich schon mal keinen Fehler.
Bis auf das fehlende Element in der Kopfzeile
@kidchino: Wenn Du also beim Rausschreiben auch das quoting abschaltest, werden die Daten nicht verändert. Bleibt die Frage, ob das Programm das den nächsten Bearbeitungsschritt macht, die Datei genauso interpretiert.

@kidchino: Wenn Du also beim Rausschreiben auch das quoting abschaltest, werden die Daten nicht verändert. Bleibt die Frage, ob das Programm das den nächsten Bearbeitungsschritt macht, die Datei genauso interpretiert.
Hi,
erstmal vielen Dank für Anschauen der Dateien.
Die drei Ansätze habe ich im Internet und in einem vorherigen Post von Sirius3 gefunden:
quotechar=None <-- das scheint das zu sein was ich suche...
quoting=csv.QUOTE_NONE <-- da weiß ich leider nicht was es macht.
quote = None <-- das ist definitiv nicht das was ich suche:QUOTE_NONE – Keine Umschließung mit quotechar wird vorgenommen.
Aber welches ist das richtige und wo setze ich denn an? Eigentlich ja beim Einlesen, weil dort doch die Anführungszeichen ignoriert werden sollen.
Ich hätte gedacht, dass ich es hier einsetzen müsste:
Aber dann kommt immer:
Ich müsste es doch eigentlich so einbauen oder:
LG
PS: Hier im Norden geht gerade die Welt unter
erstmal vielen Dank für Anschauen der Dateien.
Wie deaktiviere ich denn das quoting und wo.BlackJack hat geschrieben:Die Datei lässt sich ohne „quoting” problemlos
Die drei Ansätze habe ich im Internet und in einem vorherigen Post von Sirius3 gefunden:
quotechar=None <-- das scheint das zu sein was ich suche...
quoting=csv.QUOTE_NONE <-- da weiß ich leider nicht was es macht.
quote = None <-- das ist definitiv nicht das was ich suche:QUOTE_NONE – Keine Umschließung mit quotechar wird vorgenommen.
Aber welches ist das richtige und wo setze ich denn an? Eigentlich ja beim Einlesen, weil dort doch die Anführungszeichen ignoriert werden sollen.
Ich hätte gedacht, dass ich es hier einsetzen müsste:
Code: Alles auswählen
with open(full_name) as csv_file:
Code: Alles auswählen
quoting' is an invalid keyword argument for this function
Code: Alles auswählen
reader = csv.reader(open(fullname, delimiter="\t", quotechar=None))
PS: Hier im Norden geht gerade die Welt unter
- pillmuncher
- User
- Beiträge: 1531
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
@kidchino: Versuch mal das hier:
Ungestestet.
Code: Alles auswählen
with open(fullname, 'r') as csv_file:
reader = csv.reader(csv_file, delimiter='\t', quoting=csv.QUOTE_NONE)
In specifications, Murphy's Law supersedes Ohm's.
Hi,
danke Pillmucher.
Wenn ich
anstelle benutze, kommt
LG
danke Pillmucher.
Es kommt kein Fehler, aber leider wird das Anführungszeichen nicht ignoriert.pillmuncher hat geschrieben:with open(fullname, 'r') as csv_file:
reader = csv.reader(csv_file, delimiter='\t', quoting=csv.QUOTE_NONE)
Wenn ich
Code: Alles auswählen
reader = csv.reader(csv_file, delimiter='\t', quotechar = NONE)
anstelle benutze, kommt
Code: Alles auswählen
global name 'NONE' is not defined
@kidchino: Also bei mir lässt sich die Datei problemlos lesen und die Anführungszeichen werden nicht irgendwie interpretiert. Die sind dann ganz normal Bestandteil der Felddaten eben genau so wie sie in der Datei stehen.
Danke euch beiden.
Es waren ja auch immer 60 Spalten (bis auf die Headline). Das wird ja richtig gelesen.
Wenn ich das beim Schreiben setze:
Dann kommt
Das raff ich nicht.
Das heißt ich muss das "quoting=csv.QUOTE_NONE" beim schreiben setzen?Sirius3 hat geschrieben:Das Problem ist beim Schreiben, weil da Anführungszeichen eingefügt werden.
Es waren ja auch immer 60 Spalten (bis auf die Headline). Das wird ja richtig gelesen.
Wenn ich das beim Schreiben setze:
Code: Alles auswählen
csv.writer(temporary_file, delimiter="\t", quoting=csv.QUOTE_NONE).writerows(
Code: Alles auswählen
Error: need to escape, but no escapechar set
@kidchino: Naja Du sagst es soll nicht gequotet werden, aber das Zeichen dafür sind immer noch die Anführungszeichen und wenn die in den Daten vorkommen dann müssten sie eigentlich escaped werden, aber dafür ist kein Zeichen hinterlegt. Man muss noch explizit das Quotingzeichen auf `None` setzen, dann klappt es. Das Argument heisst `quotechar`.
@BlackJack:
So hätte ichs dann probiert.
So klappt es aber auch nicht. Aber es steht doch auch so in den Help Docs.
:K
Ich hätte gedacht die letzten beiden Sätze wären der Schlüssel:
Aber auch nicht
So hätte ichs dann probiert.
Code: Alles auswählen
csv.writer(temporary_file, delimiter="\t", quotechar=None, quoting=csv.QUOTE_NONE).writerows(
Code: Alles auswählen
spamwriter = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
Ich hätte gedacht die letzten beiden Sätze wären der Schlüssel:
Code: Alles auswählen
csv.QUOTE_NONE
Instructs writer objects to never quote fields. When the current delimiter occurs in output data it is preceded by the current escapechar character.
If escapechar is not set, the writer will raise Error if any characters that require escaping are encountered.
Instructs reader to perform no special processing of quote characters.
@kidchino: Bei mir funktioniert es:
Code: Alles auswählen
In [23]: w = csv.writer(sys.stdout, delimiter='\t', quoting=csv.QUOTE_NONE, quotechar=None)
In [24]: w.writerow([42, 23, 'test mit " im Feld', '"yeah"'])
42 23 test mit " im Feld "yeah"
Die Reihenfolge ist offensichtlich egal.
Der Fehler ist immer noch in der Zeile 454.
Wenn ich die Zeile gelöscht habe, läuft alles super. Mit der Zeile kommt der Fehler.
Das hier ist immer noch der Fehler, denke ich:
Wenn ich das Anführungszeichen entfernen läuft alles super. Wenn ich anstelle der beiden ' ein Anführungszeichen setze, läuft auch alles super.
Ich dachte, ich ignoriere damit die Anführungszeichen.
Allerdings habe ich gerade festgestellt, dass in Zeile 335 der Datei auch schon im Prinzip die selbst Konstallation vorkommt aber dort komischerweise nicht stört. Hat jemand dafür eine Idee?
Der Fehler ist immer noch in der Zeile 454.
Code: Alles auswählen
J Coughlin, G; Schambony, S Coughlin, Greg; Schambony, Simon NEW UV ABSORBER FOR PET PACKAGING: BETTER PROTECTION WITH LESS DISCOLORATION JOURNAL OF PLASTIC FILM & SHEETING English Article UV absorber; PET packaging; content protection "UVA S-Pack'' is a new UV absorber additive designed to protect PET packaging content from the damaging effects of UV radiation. Compared to conventional UV absorbers that have been used for this purpose, this new product offers broader UV protection with less discoloration. The performance of this new UV absorber in content protection was demonstrated in exposure tests with vitamins and colorants. The product is also FDA-cleared for use in PET for food-contact applications. Due to this product's unique absorption and emission profile, it is expected to also offer suitable performance in polyester-based films and sheets. [Coughlin, Greg] BASF Corp, Florham Pk, NJ USA; [Schambony, Simon] BASF SE, Ludwigshafen, Germany Coughlin, G (reprint author), BASF Corp, Florham Pk, NJ USA. greg.coughlin@basf.com 13 2 2 SAGE PUBLICATIONS LTD LONDON 1 OLIVERS YARD, 55 CITY ROAD, LONDON EC1Y 1SP, ENGLAND 8756-0879 J PLAST FILM SHEET J. Plast. Film Sheeting JUL-OCT 2008 24 3-4 227 238 10.1177/8756087908101216 12 Materials Science, Coatings & Films Materials Science V28NT WOS:000208688200006
Code: Alles auswählen
Error: need to escape, but no escapechar set
Code: Alles auswählen
"UVA S-Pack''
Ich dachte, ich ignoriere damit die Anführungszeichen.
Allerdings habe ich gerade festgestellt, dass in Zeile 335 der Datei auch schon im Prinzip die selbst Konstallation vorkommt aber dort komischerweise nicht stört. Hat jemand dafür eine Idee?
Code: Alles auswählen
"Loterie Nationale''
Code: Alles auswählen
J Zeitouny, J; Aurisicchio, C; Bonifazi, D; De Zorzi, R; Geremia, S; Bonini, M; Palma, CA; Samori, P; Listorti, A; Belbakra, A; Armaroli, N Zeitouny, Joceline; Aurisicchio, Claudia; Bonifazi, Davide; De Zorzi, Rita; Geremia, Silvano; Bonini, Massimo; Palma, Carlos-Andres; Samori, Paolo; Listorti, Andrea; Belbakra, Abdelhalim; Armaroli, Nicola Photoinduced structural modifications in multicomponent architectures containing azobenzene moieties as photoswitchable cores JOURNAL OF MATERIALS CHEMISTRY English Article SCANNING-TUNNELING-MICROSCOPY; INDUCED MOLECULAR-MOVEMENTS; DENDRITIC IRON PORPHYRINS; SELF-ASSEMBLED MONOLAYERS; CIS-TRANS ISOMERIZATION; TETHERED AXIAL LIGANDS; ELECTRON-TRANSFER; CHARGE-TRANSFER; SPECTRAL REGION; MODEL COMPOUNDS Four novel pi-conjugated chromophores with an azobenzene core (1-4) have been synthesized exploiting Pd-catalysed cross-coupling reactions between ethynyl-bearing azobenzene cores and suitably-designed peripheral groups. While in molecules 2 and 3 the azobenzene core is equipped, respectively, with ethynyl and 1,3-butadiyne spacers terminated with a substituted aniline, molecule 4 is an homologue of derivative 2 in which the terminal moieties are replaced by meso-substituted Zn-porphyrins. X-Ray crystallographic studies of substituted azobenzene 2 reveal a nearly planar arrangement of the four phenyl rings and the trans configuration of the N=N central unit. The UV-Vis absorption spectrum of molecule 1 in cyclohexane (CHX) is very similar to that of unsubstituted azobenzenes; upon irradiation at the maximum of the intense pi-pi absorption feature (360 nm), 1 undergoes trans -> cis photoisomerization reaching a photostationary state. The process is fully reversible both photochemically and thermally (ca. 120 min in the dark). The UV-Vis electronic absorption features of 2-4 are dramatically different compared to those of 1, but the photochemical process can still be traced and exhibits full reversibility in CHX. Also in the case of compound 4, where the photoreactive azobenzene excited states might be quenched by the low-lying porphyrin electronic levels, the photoreaction does occur. Extensive STM investigations of self-assembled monolayers (SAMs) of 2 and 3 at the solid/liquid interface were performed by means of scanning tunneling microscopy (STM) on highly oriented pyrolytic graphite (HOPG). It is evidenced that only the trans isomer can be physisorbed on the surface whereas the cis form, either produced under illumination in situ or prepared by irradiation of the solution prior to deposition (ex-situ), is never observed on the surface. The smallest azobenzene 1 and the bisporphyrin system 4 did not physisorb onto the surface because of the very small size and the bulky 3,5-di(tert-butyl)phenyl groups hindering flat adsorption on HOPG, respectively. [Zeitouny, Joceline; Bonifazi, Davide] Univ Trieste, Dipartimento Sci Farmaceut, I-34127 Trieste, Italy; [Zeitouny, Joceline; Bonifazi, Davide] INSTM UdR Trieste, I-34127 Trieste, Italy; [Aurisicchio, Claudia; Listorti, Andrea; Belbakra, Abdelhalim; Armaroli, Nicola] CNR ISOF, Mol Photosci Grp, I-40129 Bologna, Italy; [Aurisicchio, Claudia; Bonifazi, Davide] Univ Namur, Dept Chem, B-5000 Namur, Belgium; [De Zorzi, Rita; Geremia, Silvano] Univ Trieste, Dipartimento Sci Chim, I-34127 Trieste, Italy; [Bonini, Massimo] BASF SE, D-67056 Ludwigshafen, Germany; [Palma, Carlos-Andres; Samori, Paolo] Univ Strasbourg 1, Nanochem Lab, ISIS CNRS 7006, F-67000 Strasbourg, France Bonifazi, D (reprint author), Univ Trieste, Dipartimento Sci Farmaceut, Piazzale Europa 1, I-34127 Trieste, Italy. davide.bonifazi@fundp.ac.be; samori@isis-ulp.org; nicola.armaroli@isof.cnr.it Armaroli, Nicola/B-9094-2009; Geremia, Silvano/E-7324-2011; Bonini, Massimo/G-6565-2011 European Commission [MRTN-CT-2006-035810]; EST-SUPER [MEST-CT-2004-008128]; STRING [NMP3-CT-2006-032636]; CNR [P04.010]; INSTM, MIUR [Firb RBIN04HC3S]; Belgian National Research Foundation (FRS-FNRS) [2.4.625.08, 2.4.550.09] This work was financially supported by the European Commission through MC-RTN PRAIRIES (MRTN-CT-2006-035810), EST-SUPER (MEST-CT-2004-008128) and STRING (NMP3-CT-2006-032636), by CNR (Commessa PM. P04.010, MACOL), INSTM, MIUR (Firb RBIN04HC3S), Belgian National Research Foundation (FRS-FNRS), "Loterie Nationale'' (through the contracts n degrees 2.4.625.08 and 2.4.550.09), University of Namur, ERA-Chemistry project SurConFold. N. A. thanks Mr Roberto Cortesi for technical help. D. B. thanks Prof. M. Prato for his continuous support and the access to the laboratory facilities in Trieste. 72 20 20 ROYAL SOC CHEMISTRY CAMBRIDGE THOMAS GRAHAM HOUSE, SCIENCE PARK, MILTON RD, CAMBRIDGE CB4 0WF, CAMBS, ENGLAND 0959-9428 J MATER CHEM J. Mater. Chem. 2009 19 27 4715 4724 10.1039/b905287a 10 Chemistry, Physical; Materials Science, Multidisciplinary Chemistry; Materials Science 465GW WOS:000267571800008 DAX03#3##basf DAX03 3 basf
Wenn ich unmittelbar vor
eine anderes Zeichen setze also
und damit das Anführungszeichen nicht mehr das erste Zeichen des Wertes ist, läuft das Skirpt auch bestens...
Code: Alles auswählen
"UVA S-Pack''
Code: Alles auswählen
a"UVA S-Pack''
@kidchino: Also ich kann das Problem nicht nachvollziehen. Wenn ich einfach mal nur die Beispieldatei von Dir mit einem `csv.reader` lese und dann mit einem `csv.writer` schreibe, jeweils komplett ohne Quoting und mit einem `quotingchar` der `None` ist, dann bekomme ich *keinen* Fehler, und die beiden Dateien sind absolut *identisch*.