我正在尝试在 python 中导入电子邮件中的 HTML 表。
我尝试了以下脚本:
HOST = 'imap.gmail.com'
USERNAME = username
PASSWORD = password
ssl = True
server = IMAPClient(HOST, use_uid=True, ssl=ssl)
server.login(USERNAME, PASSWORD)
select_info = server.select_folder('INBOX')
messages = server.search(['FROM', sender_address])
if len(messages) > 0:
for mail_id, data in server.fetch(messages,['ENVELOPE','BODY[TEXT]']).items():
envelope = data[b'ENVELOPE']
body = data[b'BODY[TEXT]']
soup = BeautifulSoup(body)
table = soup.find_all('table')
df = pd.read_html(str(table))[0]
该脚本工作正常,但我在表格中插入了一些随机的“=”和“<= /td>”。这是带有黄色错误的数据帧输出示例
我认为错误出在 IMAPClient 命令中(而不是在 BS 解析或 pandas 中),因为如果我检查“body”变量中的 HTML,我会发现错误已经存在。
我究竟做错了什么?谢谢