Python တွင်၊ သင်သည် standard csv module ကို အသုံးပြု၍ csv ဖိုင်များကို အလွယ်တကူ ဖတ်နိုင်၊ ရေးနိုင်သည်။
ဥပမာအားဖြင့်၊ သင့်တွင် အောက်ပါ csv၊ sample.csv ရှိသည်ဆိုပါစို့။
11,12,13,14
21,22,23,24
31,32,33,34
အောက်ပါအတိုင်း ဖတ်ရှုနိုင်ပါသည်။
import csv
with open('data/src/sample.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)
# ['11', '12', '13', '14']
# ['21', '22', '23', '24']
# ['31', '32', '33', '34']
ဤနေရာတွင် သင်သတိထားရမည့်အချက်မှာ ကော်မာနောက်တွင် နေရာလွတ်တစ်ခုရှိနေသည့်အခါဖြစ်သည်။ ပုံမှန်အားဖြင့်၊ ကော်မာပြီးနောက် မလိုအပ်သောနေရာများ မရှိသင့်သော်လည်း တစ်ခါတစ်ရံတွင် ၎င်းတို့တွင် နေရာလွတ်များပါသော ဖိုင်များကို ကျွန်ုပ်တွေ့မြင်ရသည်။
ထိုသို့သောအခြေအနေမျိုးတွင်၊ ပုံမှန်အားဖြင့်၊ whitespace ကို လျစ်လျူမရှုဘဲ၊ ဖိုင်ကို ယခင်အတိုင်းဖတ်သည်။
11, 12, 13, 14
21, 22, 23, 24
31, 32, 33, 34
တစ်နည်းအားဖြင့်၊ အကယ်၍ သင်သည် အထက်ဖော်ပြပါဖိုင်ကို ကော်မာတစ်ခုဖြင့် အာကာသတစ်ခုဖြင့် ဖတ်ပါက၊ အထွက်သည် အောက်ပါအတိုင်း ဖြစ်လိမ့်မည်။
with open('data/src/sample_space.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)
# ['11', ' 12', ' 13', ' 14']
# ['21', ' 22', ' 23', ' 24']
# ['31', ' 32', ' 33', ' 34']
csv.reader တွင် အောက်ပါတို့ကို သတ်မှတ်ပါက၊ ကော်မာပြီးနောက် နေရာလွတ်များကို ကျော်သွားပါမည်။skipinitialspace=True
with open('data/src/sample_space.csv', 'r') as f:
reader = csv.reader(f, skipinitialspace=True)
for row in reader:
print(row)
# ['11', '12', '13', '14']
# ['21', '22', '23', '24']
# ['31', '32', '33', '34']
အထက်ဖော်ပြပါကဲ့သို့ ရိုးရှင်းသော ဥပမာတစ်ခုတွင်၊ သင်သည် အဖြူရောင်နေရာကို ဖယ်ရှားရန် strip() ကို အသုံးပြုနိုင်သည်။ ပြဿနာမှာ အောက်ပါကဲ့သို့ နှစ်ထပ်ကိုးကား အမှတ်အသားများဖြင့် ဝန်းရံထားသောအခါတွင် ပြဿနာဖြစ်သည်။
"one,one", "two,two", "three,three"
နှစ်ထပ်ကိုးကား အမှတ်အသားများဖြင့် ဝန်းရံထားသော အပိုင်းကို တစ်ခုတည်းသော ဒြပ်စင်တစ်ခုအဖြစ် မှတ်ယူသင့်သည်၊ သို့သော် skipinitialspace=False (ပုံသေ) ဖြစ်ပါက၊ ၎င်းသည် အောက်ပါအတိုင်း ဖြစ်လိမ့်မည်။
with open('data/src/sample_double_quotation.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)
# ['one,one', ' "two', 'two"', ' "three', 'three"']
skipinitialspace=True ကို သတ်မှတ်ခြင်းဖြင့် ၎င်းကို လုပ်ဆောင်နိုင်သည်။
with open('data/src/sample_double_quotation.csv', 'r') as f:
reader = csv.reader(f, skipinitialspace=True)
for row in reader:
print(row)
# ['one,one', 'two,two', 'three,three']
ပန်ဒါများတွင် read_csv() ဖြင့် csv ဖိုင်ကိုဖတ်သည့်အခါ အလားတူပင်ဖြစ်သည်။ csv ဖိုင်တွင် ကော်မာနောက်တွင် နေရာလွတ်ရှိပါက၊ သင်သည် အောက်ပါတို့ကို လုပ်ဆောင်နိုင်ပါသည်။read_csv(skipinitialspace=True)