Hướng dẫn rowcount python - con trăn rowcount

Cơ sở dữ liệu nguồn mở phổ biến nhất thế giới

10.5.14 & nbsp; mysqlcursor.rowcount thuộc tính

Cú pháp:

count = cursor.rowcount

Thuộc tính chỉ đọc này trả về số lượng hàng được trả về cho các câu lệnh SELECT hoặc số lượng hàng bị ảnh hưởng bởi các câu lệnh DML như INSERT hoặc UPDATE. Ví dụ, xem phần & nbsp; 10.5.4, phương thức mysqlcursor.execute () Phương thức.

Đối với con trỏ không có bộ phận, số lượng hàng không thể biết được trước khi các hàng đã được tìm nạp. Trong trường hợp này, số lượng hàng là -1 ngay sau khi thực thi truy vấn và được tăng lên khi các hàng được tìm nạp.

Thuộc tính rowcount giống như hàm API mysql_affected_rows() C; Xem mysql_affed_rows ().


Xem thảo luận

Nội phân Chính showShow

  • Sử dụng hàm len ()
  • Sử dụng một quầy
  • Chỉnh sửa 2018-10-29
  • Làm cách nào để đếm số lượng hàng trong tệp CSV?
  • Làm cách nào để tìm số lượng hàng và cột trong tệp CSV trong Python?
  • Làm thế nào để bạn đếm các hàng trong CSV bằng gấu trúc?
  • Làm thế nào để bạn đếm các dòng trong Python?

Sử dụng các đường đọc () để nhận số lượng dòng Đây là cách đơn giản nhất để đếm số lượng dòng trong một tệp văn bản trong Python. Phương thức Readlines () đọc tất cả các dòng từ một tệp và lưu trữ nó trong danh sách. Tiếp theo, sử dụng hàm Len () để tìm độ dài của danh sách không có gì ngoài tổng số dòng có trong một tệp.

Xem thảo luận

  • Nội phân Chính show
  • Sử dụng hàm len ()
  • Xem thảo luận

    Sử dụng các đường đọc () để nhận số lượng dòng Đây là cách đơn giản nhất để đếm số lượng dòng trong một tệp văn bản trong Python. Phương thức Readlines () đọc tất cả các dòng từ một tệp và lưu trữ nó trong danh sách. Tiếp theo, sử dụng hàm Len () để tìm độ dài của danh sách không có gì ngoài tổng số dòng có trong một tệp.

    Xem thảo luận

    Nội phân Chính show (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.

    Sử dụng hàm len ()

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

    Python3

    import

    with open(filename) as f:
        sum(1 for line in f)
    
    0

    with open(filename) as f:
        sum(1 for line in f)
    
    1
    with open(filename) as f:
        sum(1 for line in f)
    
    2
    with open(filename) as f:
        sum(1 for line in f)
    
    3
    with open(filename) as f:
        sum(1 for line in f)
    
    4
    with open(filename) as f:
        sum(1 for line in f)
    
    5

    with open(filename) as f:
        sum(1 for line in f)
    
    6
    with open(filename) as f:
        sum(1 for line in f)
    
    7

    Output:

    Lưu bài viết

    • Đọc
    • Bàn luận

    Sử dụng hàm len ()

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

    Python3

    import

    with open(filename) as f:
        sum(1 for line in f)
    
    0

    with open(filename) as f:
        sum(1 for line in f)
    
    1
    with open(filename) as f:
        sum(1 for line in f)
    
    2
    with open(filename) as f:
        sum(1 for line in f)
    
    3
    with open(filename) as f:
        sum(1 for line in f)
    
    4
    with open(filename) as f:
        sum(1 for line in f)
    
    5

    with open(filename) as f:
        sum(1 for line in f)
    
    6
    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)
    
    6
    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)
    
    7
    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)
    
    8

    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)
    
    9
    # 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

    Output:

    Sử dụng một quầy

    Theo cách tiếp cận này, chúng tôi sẽ khởi tạo một hàng số nguyên thành -1 (không phải 0 vì lặp sẽ bắt đầu từ tiêu đề chứ không phải hàng đầu tiên) lúc đầu và lặp qua toàn bộ tệp và tăng một con. Và cuối cùng, chúng tôi sẽ in giá trị RowCount.

    Python3

    # 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
    with open(filename) as f:
        sum(1 for line in f)
    
    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
    
    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
    # 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
    
    6
    # 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
    
    7
    # 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
    
    8
    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)
    
    6SELECT0SELECT1

    SELECT2rowcountSELECT4

    with open(filename) as f:
        sum(1 for line in f)
    
    2 SELECT6

    with open(filename) as f:
        sum(1 for line in f)
    
    6
    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)
    
    6
    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)
    
    7INSERT0

    Output:


    Chỉnh sửa 2018-10-29

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

    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.

    with open(filename) as f:
        sum(1 for line in f)
    

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

    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)
    

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

    # 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
    

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

    INSERT3 là 30,2MB và có 31 triệu ký tự.

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

    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. 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.

    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 thế nào để bạn đếm các hàng trong CSV bằng gấu trúc?

    Nhận số lượng hàng trong khung dữ liệu gấu trúc..

    Sử dụng .Shape [0] Thuộc tính .Shape cung cấp cho bạn hình dạng của DataFrame dưới dạng một tuple (hàng, cột). ....

    Sử dụng hàm Len (). Bạn cũng có thể sử dụng hàm Python Len () tích hợp để xác định số lượng hàng ..

    Làm thế nào để bạn đếm các dòng trong Python?

    Sử dụng các đường đọc () để nhận số lượng dòng Đây là cách đơn giản nhất để đếm số lượng dòng trong một tệp văn bản trong Python. Phương thức Readlines () đọc tất cả các dòng từ một tệp và lưu trữ nó trong danh sách. Tiếp theo, sử dụng hàm Len () để tìm độ dài của danh sách không có gì ngoài tổng số dòng có trong một tệp. This is the most straightforward way to count the number of lines in a text file in Python. The readlines() method reads all lines from a file and stores it in a list. Next, use the len() function to find the length of the list which is nothing but total lines present in a file.