Textový konvertor v pythone

Programovacie jazyky, rady, poradňa...
PietroIII
Novice
Novice
Príspevky: 8
Registrovaný: 18 jan 2013, 16:46

Textový konvertor v pythone

Príspevok od používateľa PietroIII »

Potreboval by som helpnúť. Potrebujem konvertor z jedného textového formátu do iného výstupného textového súboru. Jeden konvertor už mám (q.TXT to modul.IMP), ale teraz by som potreboval, aby to robil opačne, z modul.IMP aby vytvoril q.TXT.

Pôvodný konvertor TXT to IMP:

Kód: Vybrať všetko

#!/usr/bin/env python

import csv
import StringIO

class CommentedFile:
    def __init__(self, f, commentstring="#"):
        self.f = f
        self.commentstring = commentstring

    def next(self):
        line = self.f.next()
        while line.startswith(self.commentstring):
            line = self.f.next()
        return line

    def __iter__(self):
        return self

book_names = {}
reader = csv.reader(CommentedFile(open('book_names.txt', 'rb')), delimiter='\t', quoting=csv.QUOTE_NONE)
for row in reader:
   book_names[row[0]] = row[1]
   
reader = csv.reader(CommentedFile(open('q.txt', 'rb')), delimiter='\t', quoting=csv.QUOTE_NONE)

for row in reader:
        if row[5].strip() == '':
                continue
        print '$$$%s %s:%s\n%s' % (book_names[row[0]], row[1], row[2], row[5])
Ako vyzerá book_names.txt:

Kód: Vybrať všetko

01O	Genesis
02O	Exodus
03O	Leviticus
04O	Numbers
40N	Matthew
41N	Mark
42N	Luke
43N	John
Ako vyzerá q.txt:
Popis polí q.txt: kód názvu knihy>č.kapitoly>č.verša>>inkrement čísla riadku vynásobený 10>text[nový riadok]
´>´ je tabulátor

Kód: Vybrať všetko

01O	1	1		10	In principio creavit Deus cælum et terram.
01O	1	2		20	Terra autem erat inanis et vacua, et tenebræ erant super faciem abyssi : et spiritus Dei ferebatur super aquas.
01O	1	3		30	Dixitque Deus : Fiat lux. Et facta est lux.
01O	1	4		40	Et vidit Deus lucem quod esset bona : et divisit lucem a tenebris.
01O	1	5		50	Appellavitque lucem Diem, et tenebras Noctem : factumque est vespere et mane, dies unus.
02O	1	1		80	Hæc sunt nomina filiorum Israël qui ingressi sunt in Ægyptum cum Jacob : singuli cum domibus suis introierunt :
02O	1	2		90	Ruben, Simeon, Levi, Judas,
02O	1	3		100	Issachar, Zabulon et Benjamin,
02O	1	4		110	Dan et Nephthali, Gad et Aser.
02O	2	1		120	Egressus est post hæc vir de domo Levi : et accepit uxorem stirpis suæ.
02O	2	2		130	Quæ concepit, et peperit filium : et videns eum elegantem, abscondit tribus mensibus.
02O	2	3		140	Cumque jam celare non posset, sumpsit fiscellam scirpeam, et linivit eam bitumine ac pi*e : posuitque intus infantulum, et exposuit eum in carecto ripæ fluminis,
02O	2	4		150	stante procul sorore ejus, et considerante eventum rei.
Ako vyzerá súbor modul.IMP:
popis polí: $$$Názov knihy[medzera]č.kapitoly:č.verša[nový riadok]text[nový riadok]

Kód: Vybrať všetko

$$$Genesis 1:1
In principio creavit Deus cælum et terram.
$$$Genesis 1:2
Terra autem erat inanis et vacua, et tenebræ erant super faciem abyssi : et spiritus Dei ferebatur super aquas.
$$$Genesis 1:3
Dixitque Deus : Fiat lux. Et facta est lux.
$$$Genesis 1:4
Et vidit Deus lucem quod esset bona : et divisit lucem a tenebris.
$$$Genesis 1:5
Appellavitque lucem Diem, et tenebras Noctem : factumque est vespere et mane, dies unus.
$$$Exodus 1:1
Hæc sunt nomina filiorum Israël qui ingressi sunt in Ægyptum cum Jacob : singuli cum domibus suis introierunt :
$$$Exodus 1:2
Ruben, Simeon, Levi, Judas,
$$$Exodus 1:3
Issachar, Zabulon et Benjamin,
$$$Exodus 1:4
Dan et Nephthali, Gad et Aser.
... atď
//autoeditácia príspevku (19 Mar 2013, 22:50)
modul.zip
Prílohy
q.zip
(3.01 MiB) 22 stiahnutí
modul.zip
(1.47 MiB) 20 stiahnutí
Napísať odpoveď