Avatar billede havmaage Juniormester
02. maj 2017 - 13:19 Der er 1 kommentar

fjerne fjerne linieskift i kolonnedata og ikke i linien

Jeg har brug for at "rense" og fjerne linieskift data i hver kolonne separeret med en tablulator, men gerne beholde linieskiftet uden for kolonnerne

følgende lille stump kode renser mine data i hver kolonne men desværre fjerner den også den rigtige linieskift.
Jeg læser fra en datastream og ikke en fil så jeg tror ikke jeg kan bruge csv library til dette.
Er der en elegant måde at håndtere dette på i python

#!/usr/bin/python
intext ='"co\nl1"      "col  2"        "co\nl3"        "cos~l4" \n "co  dsl21"  "co_<l22"      "col2cx3"      "cofdsl24"'
text = ''
for col in intext.split('\t'):
    text+= col.replace('\n','').strip()+'  '
print text
Avatar billede arne_v Ekspert
07. maj 2017 - 01:54 #1
Maaske kan du bygge videre paa:


intext ='"co\nl1"\t"col  2"\t"co\nl3"\t"cos~l4" \n "co  dsl21"\t"co_<l22"\t"col2cx3"\t"cofdsl24"'
print intext
text = ''
inq = False
for c in intext:
    if c == '"':
        if not inq and not text.endswith('\n'):
            text += ','
        text += c
        inq = not inq
    elif c == '\n':
        if not inq:
            text += c
    else:
        if inq:
            text += c
print text
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester