Beliebt

Z├Ąhlen von Kommas in einer Textzeichenfolge und Hinzuf├╝gen einer neuen Zeile - Microsoft-Excel-2010, Editor ++, CSV

Ich habe eine riesige Datei (1400 Seiten, eine einzelne Zeichenfolge)Ich versuche es in Excel lesbar zu machen. Die Datei enth├Ąlt durch Kommas getrennte Werte. Dies in Excel zu ├╝bernehmen ist normalerweise kein Problem, au├čer dass sich die Informationen in Excel in mehreren Zeilen befinden sollten und nicht alle in derselben Zeile wie im Dokument.

Was eine Informationszeile sein soll, wird durch 115 Kommas getrennt.

Mein Plan war es, mit Notepad ++ 115 Kommas zu z├Ąhlen,Erstellen Sie eine neue Zeile, z├Ąhlen Sie 115 Kommas, und erstellen Sie eine neue Zeile, bis das gesamte Dokument durchlaufen ist. Nach dieser Operation sollte es einfach sein, es in Excel zu strukturieren. Ich hatte jedoch M├╝he, die ben├Âtigten Ausdr├╝cke zusammenzustellen.

Wenn es eine sinnvollere M├Âglichkeit gibt, kann es sein, dass ich auf dem falschen Weg bin. Ich habe versucht, das Tool zum Suchen / Ersetzen (STRG + H) in Notepad ++ zu verwenden.

Ich habe versucht, "find what" zu verwenden:

(, *?), {115}

Das Problem ist, dass dies 115 suchtaufeinanderfolgende Kommas, aber ich brauche es, um die 115 ersten Kommas in einer Textzeile zu z├Ąhlen. Dann mache ich ein Parapraph / eine neue Zeile und wiederhole es. Jede Hilfe / Hinweise w├Ąre sehr dankbar. Ich habe einige Zeit damit verbracht, die Antworten zu finden.

Antworten:

1 f├╝r Antwort Ôäľ 1
  • Strg+H
  • Finde was: (?:.+?,){115}K
  • Ersetzen mit: n oder rn
  • check Umwickeln
  • ├ťberpr├╝fen Sie den regul├Ąren Ausdruck
  • NCHECK . matches newline
  • Alles ersetzen

Erl├Ąuterung:

(?:         # start non capture group
.+?     # 1 or more any character, not greedy
,       # a comma
){115}      # end group, must appear 115 times
K          # forget all we have seen until this position

Ersatz:

n          # a line feed, change it to rn for windows files

Dadurch wird das Komma am Ende jeder Zeile beibehalten. Wenn Sie es entfernen m├Âchten, verwenden Sie:

(?:.+?,){114}.+?K

0 f├╝r Antwort Ôäľ 2

Geben Sie Ihren Text in die Variable inputstring ein und f├╝hren Sie ihn in Python aus. ├ändern Sie die Anzahl der Spalten je nach Anzahl der gew├╝nschten Spalten. Wenn Sie Python nicht installiert haben, k├Ânnen Sie das Online-Tool verwenden dieses

inputstring = "one, two, three, four,five,six,seven,eight,ten,etc,,,2342354,2,1,,,1,3,,,,"
outputstring = ""

numberofcolums = 115
numberofcommas = 0

print(inputstring)
print(inputstring[3]!=",")
for character in inputstring:
if(character != ","):
outputstring += character
elif(numberofcommas == numberofcolums - 1):
outputstring += ",
numberofcommas = 0
else:
outputstring += character
numberofcommas += 1

print(outputstring)

-1 f├╝r Antwort Ôäľ 3

Ok, das Beste, was Sie tun k├Ânnen, ist ein Skript zu erstellen, das dieses Problem l├Âst.

Wenn ich Ihr Problem richtig verstehe, m├╝ssen Sie eine Zeichenfolge teilen.

Ich w├╝rde das mit Pythons machen split() Funktion.

Nachdem Sie Python dazu gebracht haben, eine Datei zu schreiben, erstellen Sie f├╝r jeden Teil Ihres Arrays, den Sie aus dem Array erhalten haben, eine neue Zeile split() Funktion.

(Ich bin nicht der Beste im Erkl├Ąren. Wenn Sie Hilfe ben├Âtigen, kann ich das Skript f├╝r Sie erstellen. Fragen Sie, es sollte nicht lange dauern. Fragen Sie einfach.)