gpt4 book ai didi

python - 使用 csv 模块解析 .txt 文件中的文本

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:14 24 4
gpt4 key购买 nike

我每天都会收到一封电子邮件,除了某些数据不同之外,电子邮件的格式始终相同。我编写了一个将电子邮件导出到文本文件的 VBA 宏。现在它是一个文本文件,我想解析数据以便只获取新信息。

邮件的格式是这样的

> Irrelevant data  
> Irrelevant data
> Type: YUK
> Status: OPEN
> Date: 6/22/2015
> Description: ----
>
> Description blah blah blah
> Thank you

我想抓取相关数据。例如,在这种情况下,我只想捕获 YUK、OPEN、6/22/2015 和 Description blah blah blah。我尝试使用 csv 模块逐行打印出这些行,但我似乎无法找到解析该信息的方法。

这就是我目前所拥有的。它只打印出行。

import os
import glob
import csv

path = "emailtxt/"
glob = max(glob.iglob(path + '*.txt'), key=os.path.getctime)#most recent file located in the emailtxt
newestFile = os.path.basename(glob)#removes the emailtxt\ from its name

f = open(path+newestFile)

read = csv.reader(f)
for row in read:
print row

f.close()

我将如何解析文本文件?

最佳答案

如何使用正则表达式

def get_info(string_to_search):
res_dict = {}
import re

find_type = re.compile("Type:[\s]*[\w]*")
res = find_type.search(string_to_search)
res_dict["Type"] = res.group(0).split(":")[1].strip()

find_Status = re.compile("Status:[\s]*[\w]*")
res = find_Status.search(string_to_search)
res_dict["Status"] = res.group(0).split(":")[1].strip()

find_date = re.compile("Date:[\s]*[/0-9]*")
res = find_date.search(string_to_search)
res_dict["Date"] = res.group(0).split(":")[1].strip()

res_dict["description"] = string_to_search.split("Description:")[1].replace("Thank you","")
return res_dict


search_string = """> Irrelevant data
> Irrelevant data
> Type: YUK
> Status: OPEN
> Date: 6/22/2015
> Description: ----
>
> Description blah blah blah
> Thank you
"""
info = get_info(search_string)

print info
print info["Type"]
print info["Status"]
print info["Date"]
print info["description"]

输出:

{'Status': 'OPEN', 'Date': '6/22/2015', 'Type': 'YUK', 'description': ' ----\n>\n> Description blah blah blah\n> \n'}
YUK
OPEN
6/22/2015
----
>
> Description blah blah blah
>

关于python - 使用 csv 模块解析 .txt 文件中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30983015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com