2016-08-30 6 views
2

私はそれが多くのことを求められていますし、私はいくつかのことを試してみましたが、私は右のそれをすることはできません知っている:から/件名または件名のPython 2.7でテキストファイルのデータを抽出してエンコードする方法は?

From: VENCA <[email protected]> 
Subject: =?ISO-8859-1?Q?=BFMaxi,_midi_o_mini=3F_=A1No_pases_d?= 
=?ISO-8859-1?Q?e_largo_porque_esto_te_interesa!?= 
Subject: =?UTF-8?Q?Lo_mejor_de_Gmail_est=C3=A9s_donde_est=C3=A9s?= 
From: Equipo de Gmail <[email protected]> 
Subject: =?UTF-8?Q?Tres_consejos_para_sacarle_el_m=C3=A1ximo_partido_a_Gmai?= 
From: Equipo de Gmail <[email protected]> 
Subject: =?UTF-8?Q?Organ=C3=ADzate_mejor_con_la_bandeja_de_entrada_de_Gmail?= 
From: Equipo de Gmail <[email protected]> 
From: VENCA <[email protected]> 
Subject: =?UTF-8?Q?MARINA,_comprueba_que_tus_datos_se?= 
[email protected]_a_Venca!?= 
Subject: =?UTF-8?Q?Nuevo_inicio_de_sesi=C3=B3n_en_Chrome_con_Windows?= 
From: Google <[email protected]> 
[...] 

各ペア:私はこのようなテキストファイルを持っている

を/私は形式で、抽出したいものですから:

From: VENCA <[email protected]> - Subject: ¿Maxi, midi o mini? ¡No pases de largo porque esto te interesa! 

[...]

だから私はいくつかの科目は2,3であることを念頭に置いた(各ペアを抽出するために持っています...私が望むフォーマットを与え、utf-8、iso ...からそれらを控えめにするものは何でも

ありがとう!

答えて

0
with open('infile.txt') as infile: 
    try: 
     while True: 
      line1 = next(infile).rstrip() 
      line2 = next(infile).rstrip() 

      if line2.startswith('From:'): 
       line1, line2 = line2, line1 

      print line1, '-', line2 

    except StopIteration: 
     pass 
+0

ありがとう:)しかし、それはすでに2行の長さから最初のサブジェクトで "失敗"しています。最初の行には件名を、第2行にはISOを... - 件名 –

+0

@JoelSánchezLópez確かに、あなたはその小さな問題を解決しようとしていると思います!それとも、あなたのためにすべてのコードを書いてほしいですか? –

+0

私の最初の問題は何だったのでしょうか?xDは被験者が1行かX行の長さかどうかを知る方法を知らず、「iso」や「utf」がなくても、 ...私が自分自身を十分に説明していないならば、私はすべてのコードを持っているとは思っていませんが、私は多くのことを試し続けています。 –

関連する問題