【问题标题】:How to extract and encode data of text file in Python 2.7?如何在 Python 2.7 中提取和编码文本文件的数据?
【发布时间】:2016-08-30 10:41:19
【问题描述】:

我知道它被问了很多,我尝试了一些东西,但我无法做到:

我有一个这样的文本文件:

From: VENCA <email@infoclientes.venca.es>
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 <mail-noreply@google.com>
Subject: =?UTF-8?Q?Tres_consejos_para_sacarle_el_m=C3=A1ximo_partido_a_Gmai?=
From: Equipo de Gmail <mail-noreply@google.com>
Subject: =?UTF-8?Q?Organ=C3=ADzate_mejor_con_la_bandeja_de_entrada_de_Gmail?=
From: Equipo de Gmail <mail-noreply@google.com>
From: VENCA <email@infoclientes.venca.es>
Subject: =?UTF-8?Q?MARINA,_comprueba_que_tus_datos_se?=
 =?UTF-8?Q?an_correctos_y_=C2=A1bienvenid@_a_Venca!?=
Subject: =?UTF-8?Q?Nuevo_inicio_de_sesi=C3=B3n_en_Chrome_con_Windows?=
From: Google <no-reply@accounts.google.com> 
[...]

每对 From/Subject 或 Subject/From 都是我要提取的,格式为:

From: VENCA <email@infoclientes.venca.es> - Subject: ¿Maxi, midi o mini? ¡No pases de largo porque esto te interesa!

[...]

所以我必须提取每一对(记住一些主题是 2,3... 行长度)给出我想要的格式并从 utf-8、iso... 对主题进行编码以制作它们不稳定

非常感谢!

【问题讨论】:

    标签: python python-2.7 utf-8 decode encode


    【解决方案1】:
    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
    

    【讨论】:

    • 谢谢 :) 但它在第一个主题中已经“失败”了,因为它的 2 行长度;在第一行中给出 - 主题,在第二行中给出 =?ISO... - 主题
    • @JoelSánchezLópez 当然,但我想您愿意尝试解决这个小问题!还是您希望我们为您编写所有代码?
    • 那是我的第一个问题,xD 不知道如何识别主题是 1 行还是 X 行长度,并且知道如何将它们放在一起并编码为不稳定“iso”或“utf”...对不起,如果我没有很好地解释自己:(当然我不希望拥有所有代码,但我一直在尝试很多东西,任何东西都运行得很好
    猜你喜欢
    • 2018-07-21
    • 2017-10-29
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多