สุดยอดคู่มือ: วิธีอ่านไฟล์ csv ด้วย pandas
ไฟล์ CSV (ค่าที่คั่นด้วยเครื่องหมายจุลภาค) เป็นวิธีจัดเก็บข้อมูลที่ใช้กันทั่วไปวิธีหนึ่ง
โชคดีที่ฟังก์ชัน pandas read_csv() ช่วยให้คุณอ่านไฟล์ CSV ใน Python ได้อย่างง่ายดายในเกือบทุกรูปแบบที่คุณต้องการ
บทช่วยสอนนี้จะอธิบายหลายวิธีในการอ่านไฟล์ CSV ใน Python โดยใช้ไฟล์ CSV ต่อไปนี้ชื่อ “data.csv” :
playerID,team,points 1,Lakers,26 2,Mavs,19 3,Bucks,24 4,Spurs,22
ตัวอย่างที่ 1: อ่านไฟล์ CSV ลงใน DataFrame ของ pandas
รหัสต่อไปนี้แสดงวิธีการอ่านไฟล์ CSV ลงใน DataFrame ของแพนด้า:
#import CSV file as DataFrame df = pd. read_csv ('data.csv') #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
ตัวอย่างที่ 2: อ่านคอลัมน์เฉพาะจากไฟล์ CSV
รหัสต่อไปนี้แสดงวิธีการอ่านเฉพาะคอลัมน์ที่มีป้ายกำกับ “playerID” และ “points” จากไฟล์ CSV ลงใน DataFrame ของ pandas:
#import only specific columns from CSV file df = pd. read_csv ('data.csv', usecols=[' playerID ',' points ']) #view DataFrame df playerID points 0 1 26 1 2 19 2 3 24 3 4 22
คุณยังสามารถระบุดัชนีคอลัมน์เพื่ออ่านลงใน DataFrame ของแพนด้า:
#import only specific columns from CSV file df = pd. read_csv (' data.csv ', usecols=[ 0,1 ]) #view DataFrame df playerID team 0 1 Lakers 1 2 Mavs 2 3 Bucks 3 4 Spurs
ตัวอย่างที่ 3: ระบุแถวส่วนหัวเมื่อนำเข้าไฟล์ CSV
ในบางกรณี แถวส่วนหัวอาจไม่ใช่แถวแรกในไฟล์ CSV
ตัวอย่างเช่น ลองพิจารณาไฟล์ CSV ต่อไปนี้ซึ่งมีแถวส่วนหัวปรากฏในแถวที่สอง:
random,data,values
playerID,team,points
1,Lakers,26
2,Mavs,19
3,Bucks,24
4,Spurs,22
หากต้องการอ่านไฟล์ CSV นี้ลงใน DataFrame ของ pandas เราสามารถระบุ header=1 ได้ดังนี้:
#import from CSV file and specify that header starts on second row df = pd. read_csv ('data.csv', header= 1 ) #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
ตัวอย่างที่ 4: ข้ามแถวเมื่อนำเข้าไฟล์ CSV
คุณยังสามารถข้ามแถวได้อย่างง่ายดายเมื่อนำเข้าไฟล์ CSV โดยใช้อาร์กิวเมนต์ skikrows
ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีละเว้นบรรทัดที่สองเมื่อนำเข้าไฟล์ CSV:
#import from CSV file and skip second row df = pd. read_csv ('data.csv', skiprows=[ 1 ] ) #view DataFrame df playerID team points 0 2 Mavs 19 1 3 Bucks 24 2 4 Spurs 22
และโค้ดต่อไปนี้แสดงวิธีละเว้นบรรทัดที่สอง และ สามเมื่อนำเข้าไฟล์ CSV:
#import from CSV file and skip second and third rows df = pd. read_csv ('data.csv', skiprows=[ 1,2 ] ) #view DataFrame df playerID team points 1 3 Bucks 24 2 4 Spurs 22
ตัวอย่างที่ 5: อ่านไฟล์ CSV ด้วยตัวคั่นที่กำหนดเอง
บางครั้งคุณอาจมีไฟล์ CSV ที่มีตัวคั่นที่ไม่ใช่ลูกน้ำ
ตัวอย่างเช่น สมมติว่าไฟล์ CSV ของเรามีขีดล่างเป็นตัวคั่น:
playerID_team_points
1_Lakers_26
2_Mavs_19
3_Bucks_24
4_Spurs_22
หากต้องการอ่านไฟล์ CSV นี้ในรูปแบบแพนด้า เราสามารถใช้อาร์กิวเมนต์ sep เพื่อระบุตัวคั่นที่จะใช้เมื่ออ่านไฟล์:
#import from CSV file and specify delimiter to use df = pd. read_csv ('data.csv', sep=' _ ') #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานแพนด้าทั่วไปอื่นๆ:
วิธีอ่านไฟล์ข้อความด้วย Pandas
วิธีอ่านไฟล์ Excel ด้วย Pandas
วิธีอ่านไฟล์ TSV ด้วย Pandas
วิธีอ่านตาราง HTML ด้วย Pandas