ပြင်နည်း- အမှားအမျိုးအစား- မျှော်လင့်ထားသော စာကြောင်း သို့မဟုတ် ဘိုက်အရာဝတ္ထု


Python ကိုအသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-

 TypeError : expected string or bytes-like object

အရာဝတ္တုတစ်ခုရှိ ပုံစံအချို့ကို အစားထိုးရန် re.sub() လုပ်ဆောင်ချက်ကို သင်အသုံးပြုသောအခါတွင် ဤအမှားသည် များသောအားဖြင့် ဖြစ်ပေါ်တတ်သော်လည်း သင်လုပ်ဆောင်နေသော အရာဝတ္ထုသည် ကြိုးများ လုံးလုံးမဟုတ်ပေ။

အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။

အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။

ကျွန်ုပ်တို့တွင် အောက်ပါတန်ဖိုးများစာရင်းရှိသည်ဆိုပါစို့။

 #define list of values
x = [1, 'A', 2, 'B', 5, 'C', 'D', 'E']

ယခု ကျွန်ုပ်တို့သည် စာရင်းရှိ စာလုံးမဟုတ်သည့်တိုင်းကို အလွတ်စာကြောင်းဖြင့် အစားထိုးရန် ကြိုးစားသည်ဆိုပါစို့။

 import re

#attempt to replace each non-letter with empty string
x = re. sub (' [^a-zA-Z] ', '', x)

TypeError : expected string or bytes-like object

စာရင်းထဲရှိ အချို့သောတန်ဖိုးများသည် စာကြောင်းများမဟုတ်သောကြောင့် အမှားအယွင်းတစ်ခုရရှိထားပါသည်။

အမှားကိုဘယ်လိုပြင်မလဲ။

ဤအမှားကို ပြင်ဆင်ရန် အလွယ်ကူဆုံးနည်းလမ်းမှာ str() အော်ပရေတာတွင် ထုပ်ပိုးခြင်းဖြင့် စာရင်းကို string အရာဝတ္ထုသို့ ပြောင်းရန်ဖြစ်သည်-

 import re

#replace each non-letter with empty string
x = re. sub (' [^a-zA-Z] ', '', str (x))

#display results
print (x)

A B C D E

စာရင်းကို string အရာဝတ္ထုသို့ ဦးစွာပြောင်းလဲရန် str() ကို အသုံးပြုသောကြောင့် အမှားအယွင်းတစ်ခုလက်ခံရရှိခြင်းမရှိကြောင်း သတိပြုပါ။

ရလဒ်မှာ စာလုံးမဟုတ်သော တစ်ခုစီကို နေရာလွတ်တစ်ခုဖြင့် အစားထိုးခြင်းဖြင့် မူရင်းစာရင်းဖြစ်သည်။

မှတ်ချက်re.sub() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာဖွေနိုင်ပါသည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-

Pandas တွင် KeyError ကိုဘယ်လိုပြင်မလဲ။
ပြင်ဆင်နည်း- ValueError- float NaN ကို int အဖြစ်သို့ ပြောင်းလဲ၍မရပါ။
ပြုပြင်နည်း- တန်ဖိုးအမှား- Operands များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်