|
|
Python อ่านข้อมูล text File (Lexitron)
คราวนี้มาลองใช้ python อ่านข้อมูล text file ดู ไฟล์ที่ใช้ก็คือ ไฟล์ dict Lexitron จาก //lexitron.nectec.or.th/2009_1/ เมื่อ d/l มาแล้วจะมีไฟล์ชื่อ etlex ซึ่งจะเป็นมูลแบบ xml แต่เวลาอ่านไฟล์จะพบปัญหามี code 0xfc อยู่ 7 จุด ซึ่งไม่รู้มาได้อย่างไร และจาก //www.ascii.ca/cp874.htm จะพบว่า ascii code ที่ใช้งานจะมีตั้งแต่ 0x20-0xFB ดังนั้นจึงใช้โปรแกรม hex edit replace ให้เป็น 0x5F ?
การอ่านไฟล์ก็ง่ายมาก ตามนี้เลย from Tkinter import * import sys reload(sys) sys.setdefaultencoding('utf-8')
root = Tk() L1 = Label(root, text = 'Begin' + 'n') L1.pack()
#เปิดไฟล์ แบบอ่านอย่างเดียว f = open('etlex-test','r')
while 1: #อ่านที่ละบรรทัด line = f.readline().decode('TIS-620') L1['text'] = L1['text']+ line + "n" #ตรวจสอบว่า eof หรือไม่ if line == '' : L1['text'] = L1['text']+'END OF FILE' + "n" break #ปิดไฟล์ f.close
root.mainloop()
======================= คำสั่งนี้ f.readline().decode('TIS-620') ต้องใส่ decode ด้วยเนื่องจากไฟล์ที่เก็บข้อมูล เป็นแบบ ascii ไม่งั้นจะอ่านไม่รู้เรื่อง
ผลลัพธ์ ก็จะประมาณนี้

| Create Date : 13 มิถุนายน 2554 |
| Last Update : 13 มิถุนายน 2554 20:41:25 น. |
|
3 comments
|
| Counter : 2453 Pageviews. |
 |
|
|
| โดย: กขคง IP: 180.183.83.213 วันที่: 11 มกราคม 2556 เวลา:23:05:08 น. |
|
|
|
โดย: wink99_th วันที่: 12 มกราคม 2556 เวลา:15:27:53 น. |
|
|
|
| โดย: zen IP: 27.55.136.121 วันที่: 19 พฤษภาคม 2556 เวลา:11:18:56 น. |
|
|
|
| |
|
|