ပြင်နည်း- အမှားအမျိုးအစား- မျှော်လင့်ထားသော စာကြောင်း သို့မဟုတ် ဘိုက်အရာဝတ္ထု
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 များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။