หน้าเว็บ

วันศุกร์ที่ 12 ธันวาคม พ.ศ. 2551

ใช้ python อ่านไฟล์ csv

วันนี้ต้องเขียนโปรแกรมอ่านค่าจากไฟล์ csv ซึ่งแปลงมาจากโปรแกรม spreadsheet (เช่น OOo Calc หรือ MS Excel) ก็เลยทดลองเขียนด้วย python ดู และไปเจอว่า python มี built-in module สำหรับจัดการ csv โดยเฉพาะเลย

สมมติว่าในไฟล์ filename.csv มีเนื้อหาไฟล์ดังนี้
3, a, xyz
8, t, www
4, x, abc

สามารถเขียนโปรแกรมได้แบบนี้
import csv

file = open("path/to/filename.csv", "r")
parser = csv.reader(file)

for field1, field2, field3 in parser:
print 'FIELD1=%s, FIELD2=%s, FIELD3=%s\n' % (field1, field2, field3)

file.close()

ผลลัพธ์ ได้ดังนี้

FIELD1=3, FIELD2=a, FIELD3=xyz
FIELD1= 8, FIELD2=t, FIELD3=www
FIELD1=4, FIELD2=x, FIELD3=abc

หรือว่าตรง for loop เราอาจเขียนแค่
for row in parser: แค่นี้ก็ได้ แล้วเวลาเรียกค่าก็ใช้ row[0], row[1], row[2] แบบนี้แทน

อ้างอิง
http://www.python.org/dev/peps/pep-0305/

ไม่มีความคิดเห็น: