Python 3.x - Replace関数使用時のAttributeError

okwaves2024-01-25  8

これがすでにどこかで回答されている場合は申し訳ありませんが、このクエリに対してほぼすべての回答済み投稿を試しましたが、Python の経験が少ないため、これを解決できません。

line 38, in on_message
    msg1 = msg.replace("EmbedProxy", "")
AttributeError: 'list' object has no attribute 'replace'

これはメインコードのスニペットです

msg = message.embeds[0].fields
        remove_characters = ["Machine Name:", "Threads", "Log", "Runtime", "Total Errors", "Content Mapped", " ContentMapped/h/thread", "Total Content", "Total Result", ":", ""]
        for character in remove_characters:
            msg = msg.replace(character, "")
            result1 = [x.strip() for x in msg.split('|')]
        #if len(result) == FIELDS:
            # Add
        print(message.created_at)
        DATA = [str(message.created_at)] + result1
        sheet.add(SPREADSHEET_ID, RANGE_NAME, DATA)
        await message.channel.send('Your data has been successfully submitted!')

msg = message.embeds[0].fields の出力は次のとおりです

[EmbedProxy(value='16Core-64GB', name=':computer: マシン名:', inline=True)、EmbedProxy(value='120'、name=':zap: Threads:'、 inline=True)、EmbedProxy(value='72s'、name=':hourglass_flowing_sand: ランタイム:', inline=True), EmbedProxy(value='0.25h', name=':timer: Total エラー:'、inline=True)、EmbedProxy(value='1002'、name=':loud_sound: ContentMapped/h/thread:'、inline=True)、EmbedProxy(value='4008'、 name=':watch: 総コンテンツ:'、inline=True)、EmbedProxy(value='33'、 name=':battery: 合計結果:', inline=True)]



------------------------

リスト内の何かを置き換えることはできません。最初に、次のようにして文字列に変換する必要があります。 msg = ' '.join(msg).その後、msg 変数内で必要なものを置き換えることができます。

5

私も過去にこれを試しましたが、それを実行したところ、このエラーが発生しました。 msg = ' '.join(msg) TypeError: シーケンス項目 0: 予期される str インスタンス、EmbedProxy が見つかりました

– user3934618

2020 年 9 月 3 日 18:30

それでは、msg = ' を試していただけますか? '.join(list(msg))?

– Nurqm

2020 年 9 月 3 日 18:34

依然として同じです。 on_message msg = ' '.join(list(msg)) TypeError: シーケンス項目 0: 予期される str インスタンス、EmbedPrオキシが見つかりました

– user3934618

2020 年 9 月 3 日 18:48

メッセージで for i を実行してみてはいかがですか: print i

– Nurqm

2020 年 9 月 3 日 18:52

このエラーが発生しました msg = msg.replace(character, "") AttributeError: 'list'オブジェクトには属性「replace」がありません。

– user3934618

2020 年 9 月 4 日 1:05

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。