Hướng dẫn how do i skip the first line of a csv file in python? - làm cách nào để bỏ qua dòng đầu tiên của tệp csv trong python?

Cách tốt nhất để làm điều này là bỏ qua tiêu đề sau khi chuyển đối tượng tệp cho mô -đun

kidfile.readline[]   # skip the first line
for row in kidfile:
    #parse the line
2:

with open['myfile.csv', 'r', newline=''] as in_file:
    reader = csv.reader[in_file]
    # skip header
    next[reader]
    for row in reader:
        # handle parsed row

Điều này xử lý các tiêu đề CSV đa dòng một cách chính xác.

Câu trả lời cũ hơn:

Có lẽ bạn muốn một cái gì đó như:

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line

Một cách khác để đạt được kết quả tương tự là gọi

kidfile.readline[]   # skip the first line
for row in kidfile:
    #parse the line
3 trước vòng lặp:

kidfile.readline[]   # skip the first line
for row in kidfile:
    #parse the line

Trong Python, trong khi đọc CSV bằng mô -đun CSV, bạn có thể bỏ qua dòng đầu tiên bằng phương thức tiếp theo []. Chúng tôi thường muốn bỏ qua dòng đầu tiên khi tệp & nbsp; tệp chứa hàng tiêu đề và chúng tôi không muốn in hoặc nhập hàng đó. Sau đây là một ví dụ.

Giả sử bạn có một tệp CSV chứa dữ liệu sau với dòng tiêu đề. Bạn muốn đọc và in các dòng trên màn hình mà không có dòng tiêu đề đầu tiên.

DEPTNO,DNAME,LOC
10,ACCOUNTING,NEW YORK
20,RESEARCH,DALLAS
30,SALES,CHICAGO
40,OPERATIONS,BOSTON

Ví dụ để bỏ qua dòng đầu tiên trong khi đọc tệp CSV trong Python

Sử dụng phương thức tiếp theo [] của mô -đun CSV trước để lặp lại để bỏ qua dòng đầu tiên, như được hiển thị trong ví dụ bên dưới.

import csv

with open["product_record.csv", "r"] as csv_file:
    csv_reader = csv.reader[csv_file, delimiter=',']
    # the below statement will skip the first row
    next[csv_reader]
    for lines in csv_reader:
      print[lines]

Đầu ra

['10', 'ACCOUNTING', 'NEW YORK']
['20', 'RESEARCH', 'DALLAS']
['30', 'SALES', 'CHICAGO']
['40', 'OPERATIONS', 'BOSTON']

Xem thêm:

  • Nhập tệp CSV vào bảng Oracle bằng Python

Trong bài viết này, chúng tôi sẽ thảo luận về cách bỏ qua các hàng từ trên cùng, dưới hoặc tại các chỉ số cụ thể trong khi đọc tệp CSV và tải nội dung vào DataFrame.

Thư viện Python Panda, cung cấp một chức năng để đọc tệp CSV và tải dữ liệu vào DataFrame trực tiếp cũng bỏ qua các dòng được chỉ định từ tệp CSV, tức là.

pandas.read_csv[filepath_or_buffer, skiprows=N, ....]

Nó có thể chấp nhận số lượng lớn các đối số. Nhưng ở đây chúng tôi sẽ thảo luận về một vài lập luận quan trọng chỉ là.Argument:
Arguments:

  • FILEPATH_OR_BUFFER: Đường dẫn của tệp CSV hoặc đối tượng của nó. : path of a csv file or it’s object.
  • Bỏ qua: Số dòng để bỏ qua trong khi đọc CSV. : Line numbers to skip while reading csv.
    • Nếu nó là một int thì hãy bỏ qua các dòng đó từ đầu
    • Nếu nó có một danh sách các int thì bỏ qua các dòng tại các vị trí chỉ mục đó
    • Nếu nó có một hàm có thể gọi thì hãy chuyển từng chỉ mục cho chức năng này để kiểm tra xem dòng để bỏ qua hay không.

Nó sẽ đọc tệp CSV đã cho bằng cách bỏ qua các dòng được chỉ định và tải các dòng còn lại vào DataFrame.

Để sử dụng mô -đun Pandas nhập khẩu này như thế này,

import pandas as pd

Hãy để hiểu biết bởi các ví dụ,

Quảng cáo

Giả sử chúng ta có một tệp CSV đơn giản.

>>cat users.txt
Name,Age,City
jack,34,Sydeny
Riti,31,Delhi
Aadi,16,New York
Suse,32,Lucknow
Mark,33,Las vegas
Suri,35,Patna

Hãy để tải tệp CSV này vào DataFrame bằng read_csv [] và bỏ qua các hàng theo những cách khác nhau,

Bỏ qua n hàng từ trên cùng trong khi đọc tệp CSV sang DataFrame

Trong khi gọi pandas.read_csv [] nếu chúng ta chuyển đối số bỏ qua với giá trị int, thì nó sẽ bỏ qua các hàng đó từ trên cùng trong khi đọc tệp CSV và khởi tạo DataFrame. Ví dụ: nếu chúng ta muốn bỏ qua 2 dòng từ trên cùng trong khi đọc tệp user.csv và khởi tạo một dataFrame, tức là.skiprows argument with int value, then it will skip those rows from top while reading csv file and initializing a dataframe.
For example if we want to skip 2 lines from top while reading users.csv file and initializing a dataframe i.e.

# Skip 2 rows from top in csv and initialize a dataframe
usersDf = pd.read_csv['users.csv', skiprows=2]

print['Contents of the Dataframe created by skipping top 2 lines from csv file ']
print[usersDf]

Đầu ra:

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
0

Nó đã bỏ qua 2 dòng trên cùng từ CSV và sử dụng dòng thứ 3 [tại INDEX 2] làm hàng tiêu đề và tải các hàng còn lại từ CSV dưới dạng các hàng dữ liệu trong DataFrame.

Bây giờ điều gì sẽ xảy ra nếu chúng ta muốn bỏ qua một số hàng cụ thể trong khi đọc CSV?

Bỏ qua các hàng tại các vị trí chỉ mục cụ thể trong khi đọc tệp CSV đến DataFrame

Trong khi gọi pandas.read_csv [] nếu chúng ta chuyển đối số bỏ qua dưới dạng danh sách INTS, thì nó sẽ bỏ qua các hàng từ CSV tại các chỉ số được chỉ định trong danh sách. Trong khi đọc tệp user.csv và khởi tạo một dataFrame, tức là.

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
1

Đầu ra:

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
2

Nó đã bỏ qua các dòng ở vị trí chỉ mục 0, 2 & 5 từ CSV và tải các hàng còn lại từ CSV đến DataFrame.

Bỏ qua n hàng từ trên cùng ngoại trừ tiêu đề trong khi đọc tệp CSV sang DataFrame

Như chúng ta đã thấy trong ví dụ đầu tiên taht trong khi đọc người dùng.csv khi bỏ qua 3 dòng từ trên cùng sẽ làm cho dòng thứ 3 làm hàng tiêu đề. Nhưng đó không phải là hàng có chứa tên cột. Vì vậy, nếu tệp CSV của chúng tôi có hàng tiêu đề và chúng tôi muốn bỏ qua 2 hàng dữ liệu đầu tiên thì chúng tôi cần truyền một danh sách để bỏ qua, tức là.
So, if our csv file has header row and we want to skip first 2 data rows then we need to pass a list to skiprows i.e.

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
3

Đầu ra:

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
4

Nó sẽ đọc tệp CSV đến DataFrame bằng cách bỏ qua 2 dòng sau hàng tiêu đề trong tệp CSV.

Bỏ qua các hàng dựa trên điều kiện trong khi đọc tệp CSV sang DataFrame

Chúng ta cũng có thể vượt qua hàm có thể gọi hoặc chức năng Lambda để quyết định bỏ qua hàng nào. Khi truyền hàm có thể gọi làm đối số trong Skiprows trong khi gọi pandas.read_csv [], nó sẽ & nbsp; gọi chức năng trước khi đọc từng hàng để kiểm tra xem các hàng này có nên bị bỏ qua hay không. Nó sẽ vượt qua tư thế chỉ số của mỗi RO trong hàm này. Hãy để các hàng bỏ qua trong tệp CSV có vị trí chỉ mục là bội số 3, hãy bỏ qua mỗi dòng thứ 3 trong khi đọc tệp CSV và tải DataFrame ra khỏi nó,
Let’s skip rows in csv file whose index position is multiple of 3 i.e. skip every 3rd line while reading csv file and loading dataframe out of it,

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
5

Đầu ra:

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
6

Bỏ qua n hàng từ dưới cùng / chân trang trong khi đọc tệp CSV sang DataFrame

Để bỏ qua n số lượng hàng từ dưới cùng trong khi đọc tệp CSV đến DataFrame, vui lòng chuyển đối số Skipfooter & Engine trong & NBSP; Pandas.Read_CSV [] tức là.

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
7

Đầu ra:

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
8

Theo mặc định read_csv [] sử dụng động cơ C để phân tích cú pháp nhưng nó không cung cấp chức năng bỏ qua từ dưới cùng. Nếu chúng ta muốn sử dụng chức năng này, chúng ta phải chuyển đối số động cơ cùng với Skipfooter nếu không & nbsp; chúng ta sẽ nhận được một cảnh báo như thế này,skipfooter otherwise we will get a warning like this,

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line
9

Ví dụ hoàn chỉnh như sau,

kidfile.readline[]   # skip the first line
for row in kidfile:
    #parse the line
0

Output:

kidfile.readline[]   # skip the first line
for row in kidfile:
    #parse the line
1 & nbsp;
 

Làm cách nào để bỏ qua dòng đầu tiên của tệp CSV trong Python?

Sử dụng CSV ...
File = Open ['Sample.csv'].
CSV_Reader = CSV.người đọc [tập tin].
next[csv_reader].
Đối với hàng trong CSV_Reader:.
print[row].

Làm thế nào để bạn bỏ qua dòng đầu tiên của một tệp trong Python?

reader [] và next [] để bỏ qua dòng đầu tiên của a.Tệp CSV.Gọi mở [tên tệp] với tên tệp là.CSV để được đọc để trả về một đối tượng tệp. to skip the first line of a . csv file. Call open[filename] with filename as the . csv to be read to return a file object.

Làm cách nào để bỏ qua dòng đầu tiên của tệp CSV bằng gấu trúc?

Trong khi gọi gấu trúc.read_csv [] Nếu chúng ta chuyển đối số bỏ qua với giá trị INT, thì nó sẽ bỏ qua các hàng đó từ trên cùng trong khi đọc tệp CSV và khởi tạo DataFrame.

Làm cách nào để xóa hàng đầu tiên khỏi tệp CSV?

Đọc toàn bộ CSV thành một khung gầm gấu, hãy xóa hàng đầu tiên của DataFrame, lưu toàn bộ DataFrame kết quả vào tệp CSV có cùng tên như trong tệp đầu vào của bạn.df = pd.read_csv [..., bỏ qua = 1];DF.df = pd. read_csv[...,skiprows=1] ; df.

Bài Viết Liên Quan

Chủ Đề