จากใน Assignment 3 - Python HTML Profile DB นั้นข้อมูลที่เรานำมาใช้เป็นไฟล์ .txt ซึ่งเราสามารถเปิดอ่านได้ก็จริงแต่การแสดงผลนั้นหากข้อมูลมีจำนวนมากๆ ก็สามารถทำให้สับสนกับข้อมูลที่แสดงอยู่ได้ ดังนั้นทางออกของปัญหานี้คือเปลี่ยนการเก็บข้อมูลจากเดิมที่เป็น .txt ไปเป็น .csv
ซึ่งไฟล์ .csv นั้นเราสามารถใช้โปรแกรมจำพวก Spreadsheet เช่น LibreOffice Calc , Microsoft Excel และ Numbers เป็นต้นซึ่งจะแบ่งข้อมูลออกมารูปแบบของตารางทำให้เราสามารถอ่านได้ง่ายขึ้น โดยรูปแบบในการแบ่งมีตัวอักษรให้เลือกหลายแบบเช่น Tab, Comma, Semicolon, Space หรือแล้วแต่เราจะกำหนดก็ได้
ดังนั้นหากเรามีข้อมูลจำนวนมากๆวิธีการที่จะเปลี่ยนจาก .txt มาเป็น .csv ที่ง่ายที่สุดคือการนำโปรแกรมเข้าช่วยในการจัดการ
#!/usr/bin/env pythonโดยเริ่มต้นนั้นเปิดไฟล์ DB.txt แล้วอ่านทีละบรรทัดมาเก็บไว้ใน all_line จากนั้นประกาศ List ขึ้นมาใหม่ที่ชื่อ new_data จากนั้นนำข้อมูลใน List all_line มาทีละตัวโดยใช้คำสั่ง replace ซึ่งเป็น API พื้นฐานของ String โดยให้เปลี่ยนจาก \\ เป็น ; แล้วนำไปเก็บไว้ใน new_data จากนั้นเขียนข้อมูลใน new_data ทั้งหมดลงไปในไฟล์ DB.csv แล้วทำการปิดไฟล์ จากนั้น print Change txt to csv Complete ออกทางหน้าจอ
file = open("DB.txt","r")
all_line = file.readlines()
new_data = []
for i in all_line:
new_data.append(i.replace(" \\",";"))
file = open("DB.csv","w")
for j in new_data:
file.write(j)
file.close()
print "Change txt to csv Complete"
จะเห็นได้ว่าเมื่อเราเปลี่ยนการเก็บข้อมูลจากแบบ .txt มาเป็น .csv แล้วนั้นหากเราต้องการแก้ไขข้อมูลนั้นก็สามารถทำได้ง่ายกว่าเดิมมากเพราะทุกอย่างทุกจัดให้อยู่ในรูปแบบของตารางโดยโปรแกรมประเภท Spreadsheet ซึ่งดีกว่าการใช้ text editor มาแก้ไขใน .txt เป็นอย่างมาก
ไม่มีความคิดเห็น:
แสดงความคิดเห็น