ເນື້ອໃນ
ການສະແດງອອກປົກກະຕິແມ່ນສ່ວນປະກອບທີ່ນິຍົມຫຼາຍຂອງເກືອບທຸກພາສາການຂຽນໂປຼແກຼມ. ພວກເຂົາຊ່ວຍໃຫ້ທ່ານເຂົ້າເຖິງຂໍ້ມູນທີ່ທ່ານຕ້ອງການໄດ້ໄວ. ໂດຍສະເພາະ, ພວກມັນຖືກນໍາໃຊ້ໃນເວລາທີ່ມີຄວາມຈໍາເປັນໃນການປຸງແຕ່ງຂໍ້ຄວາມ. Python ມາພ້ອມກັບໂມດູນພິເສດໂດຍຄ່າເລີ່ມຕົ້ນ. re, ເຊິ່ງມີຄວາມຮັບຜິດຊອບໃນການເຮັດວຽກກັບການສະແດງອອກເປັນປົກກະຕິ.
ມື້ນີ້ພວກເຮົາຈະສົນທະນາໃນລາຍລະອຽດກ່ຽວກັບສິ່ງທີ່ມັນໂດຍທົ່ວໄປ, ວິທີການເຮັດວຽກກັບພວກເຂົາແລະວິທີການຂອງໂມດູນ re ຈະຊ່ວຍ.
ການສະແດງອອກເປັນປົກກະຕິ: ການແນະນໍາ
ການໃຊ້ສຳນວນປົກກະຕິແມ່ນຫຍັງ? ເກືອບທັງຫມົດ. ສໍາລັບຕົວຢ່າງ, ເຫຼົ່ານີ້:
- ແອັບພລິເຄຊັນເວັບທີ່ຕ້ອງການການກວດສອບຂໍ້ຄວາມ. ຕົວຢ່າງປົກກະຕິແມ່ນລູກຄ້າອີເມລ໌ອອນໄລນ໌.
- ໂຄງການອື່ນໆທີ່ກ່ຽວຂ້ອງກັບບົດເລື່ອງ, ຖານຂໍ້ມູນແລະອື່ນໆ.
ກ່ອນທີ່ພວກເຮົາຈະເລີ່ມວິເຄາະ syntax, ພວກເຮົາຄວນຈະເຂົ້າໃຈຢ່າງລະອຽດກ່ຽວກັບຫຼັກການພື້ນຖານຂອງການເຮັດວຽກຂອງຫ້ອງສະຫມຸດ. re ແລະໂດຍທົ່ວໄປ, ໂດຍທົ່ວໄປແລ້ວສິ່ງທີ່ດີກ່ຽວກັບມັນ. ພວກເຮົາຍັງຈະໃຫ້ຕົວຢ່າງຈາກການປະຕິບັດຕົວຈິງ, ບ່ອນທີ່ພວກເຮົາຈະອະທິບາຍກົນໄກຂອງການນໍາໃຊ້ຂອງພວກເຂົາ. ທ່ານສາມາດສ້າງແບບຈໍາລອງດັ່ງກ່າວ, ເຫມາະສໍາລັບທ່ານທີ່ຈະດໍາເນີນການປະຕິບັດງານທີ່ຫລາກຫລາຍດ້ວຍຂໍ້ຄວາມ.
ແມ່ແບບຢູ່ໃນຫ້ອງສະຫມຸດ Re ແມ່ນຫຍັງ?
ດ້ວຍມັນ, ທ່ານສາມາດຄົ້ນຫາຂໍ້ມູນຂອງປະເພດຕ່າງໆ, ໄດ້ຮັບຂໍ້ມູນທີ່ກົງກັນກັບພວກມັນ, ເພື່ອເຮັດໃຫ້ຫນ້າທີ່ອື່ນໆສາມາດປັບຕົວໄດ້. ແລະ, ແນ່ນອນ, ເພື່ອປະມວນຜົນຂໍ້ມູນນີ້.
ຕົວຢ່າງ, ເອົາຮູບແບບຕໍ່ໄປນີ້: s+. ມັນຫມາຍເຖິງລັກສະນະຊ່ອງໃດນຶ່ງ. ຖ້າທ່ານເພີ່ມເຄື່ອງຫມາຍບວກໃສ່ມັນ, ນີ້ຫມາຍຄວາມວ່າຮູບແບບປະກອບມີຫຼາຍກວ່າຫນຶ່ງຊ່ອງ. ມັນຍັງສາມາດຈັບຄູ່ຕົວອັກສອນແຖບທີ່ຖືກເອີ້ນດ້ວຍ t+.
ກ່ອນທີ່ຈະນໍາໃຊ້ພວກມັນ, ທ່ານຈໍາເປັນຕ້ອງນໍາເຂົ້າຫ້ອງສະຫມຸດ Re. ຫຼັງຈາກນັ້ນ, ພວກເຮົາໃຊ້ຄໍາສັ່ງພິເສດເພື່ອລວບລວມແມ່ແບບ. ນີ້ແມ່ນເຮັດໃນສອງຂັ້ນຕອນ.
>>> ນໍາເຂົ້າຄືນ
>>> regex = re.compile('s+')
ໂດຍສະເພາະ, ລະຫັດນີ້ປະຕິບັດການລວບລວມແມ່ແບບທີ່ສາມາດນໍາໃຊ້ໄດ້. ຕົວຢ່າງ, ເພື່ອຊອກຫາຊ່ອງຫວ່າງ (ຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນ).
ການໄດ້ຮັບຂໍ້ມູນແຍກຕ່າງຫາກຈາກສະຕຣິງທີ່ແຕກຕ່າງກັນໂດຍໃຊ້ການສະແດງອອກປົກກະຕິ
ສົມມຸດວ່າພວກເຮົາມີຕົວແປທີ່ມີຂໍ້ມູນຕໍ່ໄປນີ້.
>>> text = “””100 INF ຂໍ້ມູນຂ່າວສານ
213 MAT ຄະນິດສາດ
156 ENG ພາສາອັງກິດ»»»
ມັນປະກອບມີສາມຫຼັກສູດການຝຶກອົບຮົມ. ພວກເຂົາແຕ່ລະປະກອບດ້ວຍສາມພາກສ່ວນ - ຈໍານວນ, ລະຫັດແລະຊື່. ພວກເຮົາເຫັນວ່າໄລຍະຫ່າງລະຫວ່າງຄໍາເຫຼົ່ານີ້ແມ່ນແຕກຕ່າງກັນ. ຈະເຮັດແນວໃດເພື່ອແຍກເສັ້ນນີ້ອອກເປັນຕົວເລກແລະຄໍາສັບແຍກຕ່າງຫາກ? ມີສອງວິທີການເພື່ອບັນລຸເປົ້າຫມາຍນີ້:
- ໂທຫາຫນ້າທີ່ re.ແຍກ.
- ນຳໃຊ້ຟັງຊັນ ແບ່ງປັນ ສໍາລັບການ regex.
ນີ້ແມ່ນຕົວຢ່າງຂອງການນໍາໃຊ້ syntax ຂອງແຕ່ລະວິທີການສໍາລັບຕົວແປຂອງພວກເຮົາ.
>>> re.split('s+', ຂໍ້ຄວາມ)
# ຫລື
>>> regex.split(ຂໍ້ຄວາມ)
ຜົນອອກມາ: ['100', 'INF', 'Computer Science', '213', 'MAT', 'Math', '156', 'ENG', 'English']
ໂດຍທົ່ວໄປ, ທັງສອງວິທີການສາມາດຖືກນໍາໃຊ້. ແຕ່ຕົວຈິງແລ້ວມັນງ່າຍຂຶ້ນຫຼາຍທີ່ຈະໃຊ້ການສະແດງອອກປົກກະຕິແທນທີ່ຈະໃຊ້ຟັງຊັນຫຼາຍຄັ້ງ. re.ແຍກ.
ຊອກຫາທີ່ມີສາມຫນ້າທີ່
ສົມມຸດວ່າພວກເຮົາຕ້ອງການສະກັດຕົວເລກຈາກສະຕຣິງເທົ່ານັ້ນ. ສິ່ງທີ່ຕ້ອງເຮັດສໍາລັບການນີ້?
re.findall()
ນີ້ແມ່ນກໍລະນີທີ່ໃຊ້ສໍາລັບຟັງຊັນ findall(), ເຊິ່ງ, ພ້ອມກັບການສະແດງອອກປົກກະຕິ, ອະນຸຍາດໃຫ້ທ່ານສາມາດສະກັດການປະກົດຕົວຂອງຕົວເລກຫນຶ່ງຫຼືຫຼາຍຈາກຕົວແປຂໍ້ຄວາມ.
>>> ພິມ (ຂໍ້ຄວາມ)
100 INF ຂໍ້ມູນຂ່າວສານ
213 MAT ຄະນິດສາດ
156 ENG ພາສາອັງກິດ
>>> regex_num = re.compile('d+')
>>> regex_num.findall(ຂໍ້ຄວາມ)
['100', '213', '156']
ຮ່ວມກັນກັບສັນຍາລັກ d, ພວກເຮົາໄດ້ໃຊ້ແມ່ແບບທີ່ຊີ້ບອກເຖິງມູນຄ່າຕົວເລກຢ່າງແທ້ຈິງຢູ່ໃນຕົວແປຫຼືຂໍ້ຄວາມ. ແລະນັບຕັ້ງແຕ່ພວກເຮົາໄດ້ເພີ່ມຫນຶ່ງ + ຢູ່ທີ່ນັ້ນ, ນີ້ຫມາຍຄວາມວ່າຢ່າງຫນ້ອຍຫນຶ່ງຕົວເລກຕ້ອງມີຢູ່.
ທ່ານຍັງສາມາດໃຊ້ເຄື່ອງຫມາຍ * ເພື່ອລະບຸວ່າການມີຕົວເລກແມ່ນບໍ່ຈໍາເປັນສໍາລັບການຈັບຄູ່.
ແຕ່ໃນກໍລະນີຂອງພວກເຮົາ, ນັບຕັ້ງແຕ່ພວກເຮົາໃຊ້ +, ພວກເຮົາສະກັດດ້ວຍ findall() 1 ຫຼືຫຼາຍກວ່າການກໍານົດຫຼັກສູດດິຈິຕອນຈາກຂໍ້ຄວາມ. ດັ່ງນັ້ນ, ໃນກໍລະນີຂອງພວກເຮົາ, ການສະແດງອອກປົກກະຕິເຮັດຫນ້າທີ່ເປັນການຕັ້ງຄ່າ.
re.search() ທຽບກັບ re.match()
ດັ່ງທີ່ທ່ານສາມາດຄາດເດົາໄດ້ຈາກຊື່ຂອງຫນ້າທີ່, ທໍາອິດຄົ້ນຫາຄໍາທີ່ກົງກັນໃນຂໍ້ຄວາມ. ຄໍາຖາມ: ແມ່ນຫຍັງຄືຄວາມແຕກຕ່າງລະຫວ່າງ ຊອກຫາ? ຈຸດແມ່ນວ່າມັນສົ່ງຄືນວັດຖຸສະເພາະທີ່ກົງກັບຮູບແບບ, ແລະບໍ່ແມ່ນລໍາດັບທັງຫມົດຂອງຜົນໄດ້ຮັບທີ່ພົບເຫັນໃນຮູບແບບຂອງບັນຊີລາຍຊື່, ຄືກັບຫນ້າທີ່ທີ່ຜ່ານມາ.
ໃນທາງກັບກັນ, ຟັງຊັນ re.match ເຮັດຄືກັນ. ພຽງແຕ່ syntax ແຕກຕ່າງກັນ. ແມ່ແບບຕ້ອງຖືກວາງໄວ້ໃນຕອນຕົ້ນ.
ໃຫ້ເຮົາໃຊ້ຕົວຢ່າງທີ່ສະແດງໃຫ້ເຫັນນີ້.
>>> # ສ້າງຕົວແປດ້ວຍຂໍ້ຄວາມ
>>> text2 = «»»INF ຂໍ້ມູນຂ່າວສານ
213 MAT ຄະນິດສາດ 156″»»
>>> # ລວບລວມ regex ແລະຊອກຫາຮູບແບບ
>>> regex_num = re.compile('d+')
>>> s = regex_num.search(text2)
>>> ພິມ('ດັດຊະນີທຳອິດ: ', s.start())
>>> ພິມ('ດັດຊະນີສຸດທ້າຍ:', s.end())
>>> ພິມ(text2[s.start():s.end()])
ດັດສະນີທຳອິດ: 17
ດັດຊະນີສຸດທ້າຍ: 20
213
ຖ້າທ່ານຕ້ອງການທີ່ຈະໄດ້ຮັບຜົນໄດ້ຮັບທີ່ຄ້າຍຄືກັນໃນທາງທີ່ແຕກຕ່າງກັນ, ທ່ານສາມາດນໍາໃຊ້ຫນ້າທີ່ ກຸ່ມ().
ການປ່ຽນບາງສ່ວນຂອງຂໍ້ຄວາມດ້ວຍ Re library
ເພື່ອປ່ຽນຂໍ້ຄວາມ, ໃຫ້ໃຊ້ຟັງຊັນ re.sub(). ສົມມຸດວ່າບັນຊີລາຍຊື່ຂອງຫຼັກສູດຂອງພວກເຮົາມີການປ່ຽນແປງເລັກນ້ອຍ. ພວກເຮົາເຫັນວ່າຫຼັງຈາກແຕ່ລະມູນຄ່າດິຈິຕອນພວກເຮົາມີແຖບ. ວຽກງານຂອງພວກເຮົາແມ່ນເພື່ອລວມລໍາດັບທັງຫມົດນີ້ເຂົ້າໄປໃນເສັ້ນດຽວ. ເພື່ອເຮັດສິ່ງນີ້, ພວກເຮົາຈໍາເປັນຕ້ອງໄດ້ທົດແທນການສະແດງອອກ s + ຜ່ານ
ຂໍ້ຄວາມຕົ້ນສະບັບແມ່ນ:
# ສ້າງຕົວແປດ້ວຍຂໍ້ຄວາມ
>>> text = “””100 INF t ຂໍ້ມູນຂ່າວສານ
213 MAT t ຄະນິດສາດ
156 ENG ພາສາອັງກິດ»»»
>>> ພິມ (ຂໍ້ຄວາມ)
100 ຂໍ້ມູນ ວິທະຍາສາດຄອມພິວເຕີ
213 ມທ ຄະນິດສາດ
156 ENG ພາສາອັງກິດ
ເພື່ອປະຕິບັດການດໍາເນີນການທີ່ຕ້ອງການ, ພວກເຮົາໄດ້ນໍາໃຊ້ເສັ້ນຂອງລະຫັດຕໍ່ໄປນີ້.
# ແທນທີ່ໜຶ່ງ ຫຼືຫຼາຍຊ່ອງດ້ວຍ 1
>>> regex = re.compile('s+')
>>> print(regex.sub(' ', text))
ດັ່ງນັ້ນ, ພວກເຮົາມີເສັ້ນຫນຶ່ງ.
101 COM ຄອມພິວເຕີ 205 MAT ຄະນິດສາດ 189 ENG ພາສາອັງກິດ
ຕອນນີ້ພິຈາລະນາບັນຫາອື່ນ. ພວກເຮົາບໍ່ໄດ້ປະເຊີນກັບວຽກງານຂອງການວາງສະຖານທີ່. ມັນເປັນສິ່ງສໍາຄັນຫຼາຍສໍາລັບພວກເຮົາທີ່ຊື່ຫຼັກສູດທັງຫມົດເລີ່ມຕົ້ນຢູ່ໃນສາຍໃຫມ່. ເພື່ອເຮັດສິ່ງນີ້, ການສະແດງອອກອື່ນຖືກນໍາໃຊ້ທີ່ເພີ່ມເສັ້ນໃຫມ່ໃສ່ຂໍ້ຍົກເວັ້ນ. ການສະແດງອອກແບບນີ້ແມ່ນຫຍັງ?
ຫ້ອງສະຫມຸດ Re ສະຫນັບສະຫນູນຄຸນນະສົມບັດເຊັ່ນການຈັບຄູ່ທາງລົບ. ມັນແຕກຕ່າງຈາກຕົວຊີ້ໂດຍກົງທີ່ມັນມີຈຸດ exclamation ກ່ອນເຄື່ອງຕັດ. ນັ້ນແມ່ນ, ຖ້າພວກເຮົາຕ້ອງການຂ້າມຕົວອັກສອນແຖວໃຫມ່, ພວກເຮົາຈໍາເປັນຕ້ອງຂຽນ !n ແທນ n.
ພວກເຮົາໄດ້ຮັບລະຫັດຕໍ່ໄປນີ້.
# ເອົາຊ່ອງຫວ່າງທັງໝົດອອກຍົກເວັ້ນແຖວໃໝ່
>>> regex = re.compile('((?!n)s+)')
>>> print(regex.sub(' ', text))
100 INF ຂໍ້ມູນຂ່າວສານ
213 MAT ຄະນິດສາດ
156 ENG ພາສາອັງກິດ
ກຸ່ມການສະແດງອອກປົກກະຕິແມ່ນຫຍັງ?
ດ້ວຍຄວາມຊ່ອຍເຫລືອຂອງກຸ່ມຂອງການສະແດງອອກປົກກະຕິ, ພວກເຮົາສາມາດໄດ້ຮັບວັດຖຸທີ່ຕ້ອງການໃນຮູບແບບຂອງອົງປະກອບແຍກຕ່າງຫາກ, ແລະບໍ່ແມ່ນຢູ່ໃນເສັ້ນດຽວ.
ສົມມຸດວ່າພວກເຮົາຈໍາເປັນຕ້ອງໄດ້ຮັບຈໍານວນຫຼັກສູດ, ລະຫັດແລະຊື່ບໍ່ແມ່ນຢູ່ໃນເສັ້ນດຽວ, ແຕ່ເປັນອົງປະກອບແຍກຕ່າງຫາກ. ເພື່ອເຮັດສໍາເລັດຫນ້າວຽກ, ທ່ານຈະຕ້ອງຂຽນລະຫັດຈໍານວນຫລາຍທີ່ບໍ່ຈໍາເປັນ.
ໃນຄວາມເປັນຈິງ, ວຽກງານສາມາດງ່າຍດາຍຫຼາຍ. ທ່ານສາມາດລວບລວມແມ່ແບບສໍາລັບລາຍການທັງຫມົດແລະພຽງແຕ່ລະບຸຂໍ້ມູນທີ່ທ່ານຈໍາເປັນຕ້ອງໄດ້ຮັບຈາກວົງເລັບ.
ຈະມີຈໍານວນນ້ອຍຫຼາຍສາຍ.
# ສ້າງກຸ່ມຂອງແມ່ແບບຂໍ້ຄວາມແນ່ນອນແລະສະກັດພວກມັນ
>>> course_pattern = '([0-9]+)s*([A-ZY]{3})s*([a-zA-ZoY]{4,})'
>>> re.findall(course_pattern, text)
[('100', 'INF', 'ວິທະຍາສາດຄອມພິວເຕີ'), ('213', 'MAT', 'Math'), ('156', 'ENG', 'English')]
ແນວຄວາມຄິດຂອງ "ຄວາມໂລບ" ທີ່ກົງກັນ
ໂດຍມາດຕະຖານ, ການສະແດງຜົນປົກກະຕິແມ່ນໂຄງການເພື່ອສະກັດເອົາຈໍານວນສູງສຸດຂອງຂໍ້ມູນທີ່ກົງກັນ. ແລະເຖິງແມ່ນວ່າທ່ານຕ້ອງການຫຼາຍຫນ້ອຍ.
ໃຫ້ເບິ່ງຕົວຢ່າງລະຫັດ HTML ບ່ອນທີ່ພວກເຮົາຕ້ອງການເອົາແທັກ.
>>> text = "ຕົວຢ່າງການຈັບຄູ່ການສະແດງອອກແບບປົກກະຕິຂອງຄວາມໂລບ"
>>> re.findall('', ຂໍ້ຄວາມ)
['ຕົວຢ່າງຂອງການຈັບຄູ່ການສະແດງອອກປົກກະຕິ Greedy']
ແທນທີ່ຈະສະກັດພຽງແຕ່ຫນຶ່ງແທັກ, Python ໄດ້ຮັບສາຍທັງຫມົດ. ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າມັນຖືກເອີ້ນວ່າຄວາມໂລບ.
ແລະສິ່ງທີ່ຕ້ອງເຮັດເພື່ອໃຫ້ໄດ້ພຽງແຕ່ແທັກ? ໃນກໍລະນີນີ້, ທ່ານຈໍາເປັນຕ້ອງໃຊ້ການຈັບຄູ່ lazy. ເພື່ອລະບຸການສະແດງອອກດັ່ງກ່າວ, ເຄື່ອງໝາຍຄໍາຖາມຈະຖືກເພີ່ມໃສ່ທ້າຍຂອງຮູບແບບ.
ທ່ານຈະໄດ້ຮັບລະຫັດຕໍ່ໄປນີ້ແລະຜົນໄດ້ຮັບຂອງນາຍພາສາ.
>>> re.findall('', ຂໍ້ຄວາມ)
[”,”]
ຖ້າຫາກວ່າມັນຈໍາເປັນຕ້ອງໄດ້ຮັບພຽງແຕ່ການປະກົດຕົວຄັ້ງທໍາອິດ, ຫຼັງຈາກນັ້ນວິທີການຖືກນໍາໃຊ້ ຊອກຫາ ().
re.search('', text).group()
"
ຫຼັງຈາກນັ້ນ, ພຽງແຕ່ແທັກເປີດຈະພົບເຫັນ.
ແມ່ແບບການສະແດງອອກທີ່ນິຍົມ
ນີ້ແມ່ນຕາຕະລາງທີ່ມີຮູບແບບການສະແດງອອກປົກກະຕິທີ່ໃຊ້ຫຼາຍທີ່ສຸດ.
ສະຫຼຸບ
ພວກເຮົາໄດ້ພິຈາລະນາພຽງແຕ່ວິທີການພື້ນຖານທີ່ສຸດສໍາລັບການເຮັດວຽກກັບການສະແດງອອກເປັນປົກກະຕິ. ໃນກໍລະນີໃດກໍ່ຕາມ, ທ່ານໄດ້ເຫັນວ່າພວກເຂົາມີຄວາມສໍາຄັນແນວໃດ. ແລະໃນທີ່ນີ້ມັນບໍ່ມີຄວາມແຕກຕ່າງກັນບໍ່ວ່າຈະມີຄວາມຈໍາເປັນທີ່ຈະແຍກຂໍ້ຄວາມທັງຫມົດຫຼືຊິ້ນສ່ວນສ່ວນບຸກຄົນຂອງມັນ, ບໍ່ວ່າຈະມີຄວາມຈໍາເປັນໃນການວິເຄາະຂໍ້ຄວາມໃນເຄືອຂ່າຍສັງຄົມຫຼືເກັບກໍາຂໍ້ມູນເພື່ອດໍາເນີນການຕໍ່ມາ. ການສະແດງອອກເປັນປົກກະຕິເປັນຜູ້ຊ່ວຍທີ່ເຊື່ອຖືໄດ້ໃນເລື່ອງນີ້.
ພວກເຂົາເຈົ້າອະນຸຍາດໃຫ້ທ່ານປະຕິບັດວຽກງານເຊັ່ນ:
- ການລະບຸຮູບແບບຂອງຂໍ້ມູນເຊັ່ນທີ່ຢູ່ອີເມວ ຫຼືເບີໂທລະສັບ.
- ເອົາສາຍແລະແຍກມັນອອກເປັນສາຍນ້ອຍຫຼາຍ.
- ດໍາເນີນການຕ່າງໆດ້ວຍຂໍ້ຄວາມ, ເຊັ່ນ: ຄົ້ນຫາ, ສະກັດຂໍ້ມູນທີ່ຈໍາເປັນ, ຫຼືປ່ຽນສ່ວນຫນຶ່ງຂອງຕົວອັກສອນ.
ການສະແດງອອກແບບປົກກະຕິຍັງຊ່ວຍໃຫ້ທ່ານສາມາດປະຕິບັດການປະຕິບັດງານທີ່ບໍ່ແມ່ນເລື່ອງເລັກນ້ອຍ. ຢູ່ glance ທໍາອິດ, mastering ວິທະຍາສາດນີ້ແມ່ນບໍ່ງ່າຍ. ແຕ່ໃນການປະຕິບັດ, ທຸກສິ່ງທຸກຢ່າງແມ່ນມາດຕະຖານ, ສະນັ້ນມັນພຽງພໍທີ່ຈະຄິດອອກຫນຶ່ງຄັ້ງ, ຫຼັງຈາກນັ້ນເຄື່ອງມືນີ້ສາມາດຖືກນໍາໃຊ້ບໍ່ພຽງແຕ່ໃນ Python, ແຕ່ຍັງຢູ່ໃນພາສາການຂຽນໂປຼແກຼມອື່ນໆ. ເຖິງແມ່ນວ່າ Excel ໃຊ້ການສະແດງອອກປົກກະຕິເພື່ອເຮັດໃຫ້ການປະມວນຜົນຂໍ້ມູນອັດຕະໂນມັດ. ສະນັ້ນມັນເປັນບາບທີ່ຈະບໍ່ໃຊ້ເຄື່ອງມືນີ້.