วิธีอ่าน csv โดยไม่มีส่วนหัวใน pandas (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่ออ่านไฟล์ CSV ที่ไม่มีส่วนหัวลงใน Pandas DataFrame:

 df = pd. read_csv (' my_data.csv ', header= None )

อาร์กิวเมนต์ header=None บอกแพนด้าว่าบรรทัดแรกไม่ควรใช้เป็นบรรทัดส่วนหัว

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: อ่านไฟล์ CSV ที่ไม่มีส่วนหัวใน Pandas

สมมติว่าเรามีไฟล์ CSV ต่อไปนี้ชื่อ Players_data.csv :

แพนด้าอ่านไฟล์ CSV โดยไม่มีส่วนหัว

จากไฟล์เราจะเห็นว่าแถวแรกไม่มีชื่อคอลัมน์ใดๆ

หากเรานำเข้าไฟล์ CSV โดยใช้ฟังก์ชัน read_csv() แพนด้าจะพยายามใช้บรรทัดแรกเป็นบรรทัดส่วนหัว:

 import pandas as pd

#import CSV file
df = pd. read_csv (' players_data.csv ')

#view resulting DataFrame
print (df)

   At 22 10
0 B 14 9
1 C 29 6
2 D 30 2
3 E 22 9
4 F 31 10

อย่างไรก็ตาม เราสามารถระบุ header=None เพื่อให้แพนด้ารู้ว่าจะไม่ใช้บรรทัดแรกเป็นบรรทัดส่วนหัว:

 import pandas as pd

#import CSV file without header
df = pd. read_csv (' players_data.csv ', header = None )

#view resulting DataFrame
print (df)

   0 1 2
0 to 22 10
1 B 14 9
2 C 29 6
3 D 30 2
4 E 22 9
5 F 31 10

โปรดทราบว่าบรรทัดแรกของไฟล์ CSV จะไม่ใช้เป็นบรรทัดส่วนหัวอีกต่อไป

โปรดทราบว่าแพนด้าใช้ช่วงของค่าตัวเลข (0, 1, 2) เป็นชื่อคอลัมน์ตามค่าเริ่มต้น

หากต้องการระบุชื่อคอลัมน์ของคุณเองเมื่อนำเข้าไฟล์ CSV คุณสามารถใช้อาร์กิวเมนต์ ชื่อ ได้ดังนี้:

 import pandas as pd

#specify column names
cols = [' team ', ' points ', ' rebounds ']

#import CSV file without header and specify column names
df = pd. read_csv (' players_data.csv ', header = None , names=cols)

#view resulting DataFrame
print (df)

  team points rebounds
0 to 22 10
1 B 14 9
2 C 29 6
3 D 30 2
4 E 22 9
5 F 31 10

DataFrame ขณะนี้มีชื่อคอลัมน์ที่เราระบุโดยใช้อาร์กิวเมนต์ ชื่อ

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของฟังก์ชัน pandas read_csv() ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีทำงานทั่วไปอื่นๆ ใน Python:

Pandas: วิธีข้ามบรรทัดเมื่ออ่านไฟล์ CSV
Pandas: วิธีเพิ่มข้อมูลลงในไฟล์ CSV ที่มีอยู่
Pandas: วิธีใช้ read_csv พร้อมอาร์กิวเมนต์ usecols

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *