簡體   English   中英

循環時出現錯誤“列表索引必須是整數或切片,而不是 str”

[英]Error "list indices must be integers or slices, not str" while looping

我試圖只解析對我的電子郵件的回復,這些回復存儲在 CSV 文件中。 我正在使用這個似乎適合這樣做的庫 我的 CSV 列如下所示:

Date    From Name   From Address   To   Subject    Message

我想要做的是閱讀message列,執行清理 function 即EmailReplyParser.parse_reply(email_message)並將其替換為清理后的電子郵件。

這就是我現在所擁有的:

from email_reply_parser import EmailReplyParser
import csv

with open('D:/Harry_Potter.csv', encoding="utf8") as inf:
    reader = csv.reader(inf.readlines())

with open('D:/clean.csv', 'w') as outf:
    writer = csv.writer(outf)
    for row in reader:
        EmailReplyParser.parse_reply(row['Message'])
    writer.writerows(reader)

這是我收到的錯誤: TypeError: list indices must be integers or slices, not str

我怎樣才能解決這個問題?

你的循環應該是這樣的:

with open('D:/clean.csv', 'w') as outf:
    writer = csv.writer(outf)
    # need to skip the title
    title = reader.__next__()
    for row in reader:
        EmailReplyParser.parse_reply(row[0].split()[-1])
    writer.writerows(reader)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM