Hướng dẫn how do i count csv rows in python? - làm cách nào để đếm các hàng csv trong python?

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc [Comma Separated Values] is a simple fileformat used to store tabular data, such as a spreadsheet or database. A CSV file stores tabular data [numbers and text] in plain text. Each line of the file is a data record. Each record consists of one or more fields, separated by commas. The use of the comma as a field separator is the source of the name for this file format.

    Bàn luận

    CSV [Giá trị phân tách bằng dấu phẩy] là một tệp đơn giản được sử dụng để lưu trữ dữ liệu bảng, chẳng hạn như bảng tính hoặc cơ sở dữ liệu. Tệp CSV lưu trữ dữ liệu bảng [số và văn bản] trong văn bản thuần túy. Mỗi dòng của tệp là một bản ghi dữ liệu. Mỗi hồ sơ bao gồm một hoặc nhiều trường, cách nhau bằng dấu phẩy. Việc sử dụng dấu phẩy làm dấu phân cách trường là nguồn của tên cho định dạng tệp này.

    Python3

    Trong bài viết này, chúng tôi sẽ thảo luận về các cách tiếp cận khác nhau để đếm số lượng dòng trong tệp CSV bằng Python.

    Chúng tôi sẽ sử dụng bộ dữ liệu dưới đây để thực hiện tất cả các hoạt động:

    import timeit
    import csv
    import pandas as pd
    
    filename = './sample_submission.csv'
    
    def talktime[filename, funcname, func]:
        print[f"# {funcname}"]
        t = timeit.timeit[f'{funcname}["{filename}"]', setup=f'from __main__ import {funcname}', number = 100] / 100
        print['Elapsed time : ', t]
        print['n = ', func[filename]]
        print['\n']
    
    def sum1forline[filename]:
        with open[filename] as f:
            return sum[1 for line in f]
    talktime[filename, 'sum1forline', sum1forline]
    
    def lenopenreadlines[filename]:
        with open[filename] as f:
            return len[f.readlines[]]
    talktime[filename, 'lenopenreadlines', lenopenreadlines]
    
    def lenpd[filename]:
        return len[pd.read_csv[filename]] + 1
    talktime[filename, 'lenpd', lenpd]
    
    def csvreaderfor[filename]:
        cnt = 0
        with open[filename] as f:
            cr = csv.reader[f]
            for row in cr:
                cnt += 1
        return cnt
    talktime[filename, 'csvreaderfor', csvreaderfor]
    
    def openenum[filename]:
        cnt = 0
        with open[filename] as f:
            for i, line in enumerate[f,1]:
                cnt += 1
        return cnt
    talktime[filename, 'openenum', openenum]
    
    0
    import timeit
    import csv
    import pandas as pd
    
    filename = './sample_submission.csv'
    
    def talktime[filename, funcname, func]:
        print[f"# {funcname}"]
        t = timeit.timeit[f'{funcname}["{filename}"]', setup=f'from __main__ import {funcname}', number = 100] / 100
        print['Elapsed time : ', t]
        print['n = ', func[filename]]
        print['\n']
    
    def sum1forline[filename]:
        with open[filename] as f:
            return sum[1 for line in f]
    talktime[filename, 'sum1forline', sum1forline]
    
    def lenopenreadlines[filename]:
        with open[filename] as f:
            return len[f.readlines[]]
    talktime[filename, 'lenopenreadlines', lenopenreadlines]
    
    def lenpd[filename]:
        return len[pd.read_csv[filename]] + 1
    talktime[filename, 'lenpd', lenpd]
    
    def csvreaderfor[filename]:
        cnt = 0
        with open[filename] as f:
            cr = csv.reader[f]
            for row in cr:
                cnt += 1
        return cnt
    talktime[filename, 'csvreaderfor', csvreaderfor]
    
    def openenum[filename]:
        cnt = 0
        with open[filename] as f:
            for i, line in enumerate[f,1]:
                cnt += 1
        return cnt
    talktime[filename, 'openenum', openenum]
    
    1

    Output:

    import pandas as pd

    • results = pd.read_csv['Data.csv'
    • Để đếm số lượng dòng/hàng có trong tệp CSV, chúng tôi có hai loại phương thức khác nhau:

    Sử dụng hàm len [].len[] function

    Sử dụng một quầy.

    Python3

    Trong bài viết này, chúng tôi sẽ thảo luận về các cách tiếp cận khác nhau để đếm số lượng dòng trong tệp CSV bằng Python.

    Chúng tôi sẽ sử dụng bộ dữ liệu dưới đây để thực hiện tất cả các hoạt động:

    import timeit
    import csv
    import pandas as pd
    
    filename = './sample_submission.csv'
    
    def talktime[filename, funcname, func]:
        print[f"# {funcname}"]
        t = timeit.timeit[f'{funcname}["{filename}"]', setup=f'from __main__ import {funcname}', number = 100] / 100
        print['Elapsed time : ', t]
        print['n = ', func[filename]]
        print['\n']
    
    def sum1forline[filename]:
        with open[filename] as f:
            return sum[1 for line in f]
    talktime[filename, 'sum1forline', sum1forline]
    
    def lenopenreadlines[filename]:
        with open[filename] as f:
            return len[f.readlines[]]
    talktime[filename, 'lenopenreadlines', lenopenreadlines]
    
    def lenpd[filename]:
        return len[pd.read_csv[filename]] + 1
    talktime[filename, 'lenpd', lenpd]
    
    def csvreaderfor[filename]:
        cnt = 0
        with open[filename] as f:
            cr = csv.reader[f]
            for row in cr:
                cnt += 1
        return cnt
    talktime[filename, 'csvreaderfor', csvreaderfor]
    
    def openenum[filename]:
        cnt = 0
        with open[filename] as f:
            for i, line in enumerate[f,1]:
                cnt += 1
        return cnt
    talktime[filename, 'openenum', openenum]
    
    0
    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    
    0
    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    
    1
    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    
    2

    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    
    3
    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    
    4
    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    
    5

    Output:

    import pandas as pd

    results = pd.read_csv['Data.csv'

    Python3

    Để đếm số lượng dòng/hàng có trong tệp CSV, chúng tôi có hai loại phương thức khác nhau:

    Sử dụng hàm len [].

    Sử dụng một quầy.

    import timeit
    import csv
    import pandas as pd
    
    filename = './sample_submission.csv'
    
    def talktime[filename, funcname, func]:
        print[f"# {funcname}"]
        t = timeit.timeit[f'{funcname}["{filename}"]', setup=f'from __main__ import {funcname}', number = 100] / 100
        print['Elapsed time : ', t]
        print['n = ', func[filename]]
        print['\n']
    
    def sum1forline[filename]:
        with open[filename] as f:
            return sum[1 for line in f]
    talktime[filename, 'sum1forline', sum1forline]
    
    def lenopenreadlines[filename]:
        with open[filename] as f:
            return len[f.readlines[]]
    talktime[filename, 'lenopenreadlines', lenopenreadlines]
    
    def lenpd[filename]:
        return len[pd.read_csv[filename]] + 1
    talktime[filename, 'lenpd', lenpd]
    
    def csvreaderfor[filename]:
        cnt = 0
        with open[filename] as f:
            cr = csv.reader[f]
            for row in cr:
                cnt += 1
        return cnt
    talktime[filename, 'csvreaderfor', csvreaderfor]
    
    def openenum[filename]:
        cnt = 0
        with open[filename] as f:
            for i, line in enumerate[f,1]:
                cnt += 1
        return cnt
    talktime[filename, 'openenum', openenum]
    
    0
    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    
    0
    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    
    1pandas as pd4

    Output:


    in [đánh giá_df. head []].

    Chỉnh sửa 2018-10-29

    Cảm ơn bạn đã cho ý kiến.

    with open[filename] as f:
        sum[1 for line in f]
    

    Tôi đã thử nghiệm một số loại mã để có được số dòng trong tệp CSV về tốc độ. Phương pháp tốt nhất là dưới đây.

    import timeit
    import csv
    import pandas as pd
    
    filename = './sample_submission.csv'
    
    def talktime[filename, funcname, func]:
        print[f"# {funcname}"]
        t = timeit.timeit[f'{funcname}["{filename}"]', setup=f'from __main__ import {funcname}', number = 100] / 100
        print['Elapsed time : ', t]
        print['n = ', func[filename]]
        print['\n']
    
    def sum1forline[filename]:
        with open[filename] as f:
            return sum[1 for line in f]
    talktime[filename, 'sum1forline', sum1forline]
    
    def lenopenreadlines[filename]:
        with open[filename] as f:
            return len[f.readlines[]]
    talktime[filename, 'lenopenreadlines', lenopenreadlines]
    
    def lenpd[filename]:
        return len[pd.read_csv[filename]] + 1
    talktime[filename, 'lenpd', lenpd]
    
    def csvreaderfor[filename]:
        cnt = 0
        with open[filename] as f:
            cr = csv.reader[f]
            for row in cr:
                cnt += 1
        return cnt
    talktime[filename, 'csvreaderfor', csvreaderfor]
    
    def openenum[filename]:
        cnt = 0
        with open[filename] as f:
            for i, line in enumerate[f,1]:
                cnt += 1
        return cnt
    talktime[filename, 'openenum', openenum]
    

    Đây là mã được kiểm tra.

    # sum1forline
    Elapsed time :  0.6327946722068599
    n =  2528244
    
    
    # lenopenreadlines
    Elapsed time :  0.655304473598555
    n =  2528244
    
    
    # lenpd
    Elapsed time :  0.7561274056295324
    n =  2528244
    
    
    # csvreaderfor
    Elapsed time :  1.5571560935772661
    n =  2528244
    
    
    # openenum
    Elapsed time :  0.773000013928679
    n =  2528244
    

    Kết quả là dưới đây.

    Tóm lại, pandas as pd5 là nhanh nhất. Nhưng có thể không có sự khác biệt đáng kể so với pandas as pd6.

    in [đánh giá_df. head []].

    in [đánh giá_df. head []]. Under this method, we need to read the CSV file using pandas library and then use the len[] function with the imported CSV file, which will return an int value of a number of lines/rows present in the CSV file.

    Sử dụng hàm Len [] Theo phương thức này, chúng ta cần đọc tệp CSV bằng thư viện Pandas và sau đó sử dụng hàm Len [] với tệp CSV đã nhập, sẽ trả về giá trị INT của một số dòng/hàng có trong CSV tập tin.

    Thuộc tính hình dạng của DataFrame của gấu trúc trả về tuple [ROW_COUNT, Cột_Count]. Do đó, bạn có thể nhận được số lượng hàng của gấu trúc DataFrame từ giá trị đầu tiên của tuple này. Ngoài ra, bạn cũng có thể sử dụng chức năng Len [] tích hợp Python để có được số lượng hàng trong khung dữ liệu gấu trúc.. Thus, you can get the row count of a pandas dataframe from the first value of this tuple. Alternatively, you can also use the Python built-in len[] function to get the number of rows in a Pandas dataframe.

    Làm cách nào để tìm số lượng hàng và cột trong tệp CSV trong Python?

    Để có được số lượng hàng và các cột, chúng ta có thể sử dụng hàm Len [df.axes []] trong Python.len[df. axes[]] function in Python.

    Làm cách nào để tìm thấy 5 bản ghi đầu tiên của tệp CSV?

    Pandas - Chỉ đọc n hàng đầu tiên của tệp CSV..
    df_firstn = pd.read_csv [file_path, nrows = n] df_firstn = pd.Read_csv [file_path, nRows = n].
    Hình dạng dữ liệu: [100, 2] Hình dạng dữ liệu: [100, 2].
    in [review_df. head []] in [Review_df.head []].
    Hình dạng dữ liệu: [100, 2] Hình dạng dữ liệu: [100, 2].
    in [review_df. head []] in [Review_df.head []].

    Bài Viết Liên Quan

    Chủ Đề