Hướng dẫn get size of csv file python - lấy kích thước của tệp csv python
Chỉnh sửa 2018-10-29Cảm ơn bạn đã cho ý kiến. Show
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.
Đây là mã được kiểm tra.
Kết quả là dưới đây.
Tóm lại, 1 là nhanh nhất. Nhưng có thể không có sự khác biệt đáng kể so với 2. 3 là 30,2MB và có 31 triệu ký tự. Trong hướng dẫn này, chúng tôi sẽ xem xét cách lấy kích thước tệp bằng Python. Lập trình nhận kích thước tệpCó một số cách để có được kích thước của một tệp trong Python. Bạn có thể sử dụng chức năng Mô -đun HĐH 4 để có được một số thống kê tệp bao gồm cả kích thước của nó. Bạn cũng có thể sử dụng mô -đun 5 để có được kích thước tệp.Hãy cùng xem xét việc sử dụng các phương pháp nêu trên với sự trợ giúp của một số ví dụ. Đầu tiên, hãy để kiểm tra thủ công kích thước của tệp mà chúng tôi sẽ đo bằng Python, đây là tệp CSV chứa các đánh giá 5K về phim. Bạn có thể thấy rằng kích thước tệp là khoảng 6,40 MB. Bây giờ, hãy tiếp tục và sử dụng Python để có được kích thước của cùng một tệp. 1. Sử dụng mô -đun 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) 6Mô -đun 6 trong Python đi kèm với một số chức năng hữu ích để tương tác với hệ thống tệp. Để có được kích thước tệp, bạn có thể sử dụng chức năng 4 mà số liệu thống kê tệp khác nhau. Để cụ thể nhận kích thước tệp, hãy sử dụng thuộc tính 9. Ví dụ: hãy để Lừa nhận được kích thước của tệp trên bằng phương pháp này.import os # the absoulte path of the file file_path = r"C:\Users\piyush\Documents\Projects\movie_reviews_data\IMDB Dataset 5k.csv" # get the file size print(os.stat(file_path).st_size) Output: 6716779 Lưu ý rằng chúng tôi đã sử dụng một đường dẫn tuyệt đối đến tệp ở đây. Bạn cũng có thể sử dụng một đường dẫn tương đối. Bạn có thể thấy rằng chúng tôi có được kích thước tệp trong các byte có thể dễ dàng chuyển đổi thành kilobyte và megabyte. Hãy để tạo ra một chức năng đơn giản để có được kích thước tệp bằng byte, kilobyte và megabyte. # function to show file size in bytes, kilobytes, and megabytes def show_file_size(size): kb = size/1024 mb = kb/1024 print("The file size in -") print("Bytes: {}".format(size)) print("Kilobytes (KB): {0:.2f}".format(kb)) print("Megabytes (MB): {0:.2f}".format(mb)) # display the file size size = os.stat(file_path).st_size show_file_size(size) Output: The file size in - Bytes: 6716779 Kilobytes (KB): 6559.35 Megabytes (MB): 6.41 Bạn có thể thấy rằng chúng tôi có được kích thước tệp là ~ 6,41MB, xấp xỉ bằng kích thước chúng tôi nhận được từ các thuộc tính tệp trong Windows. Ngoài ra, bạn cũng có thể sử dụng chức năng 0
function to get the file size.# the absoulte path of the file file_path = r"C:\Users\piyush\Documents\Projects\movie_reviews_data\IMDB Dataset 5k.csv" # get the file size print(os.path.getsize(file_path)) Output; 6716779 Chúng tôi nhận được kết quả tương tự như chúng tôi đã làm với 1.Để biết thêm về chức năng 4, hãy tham khảo tài liệu của nó.2. Sử dụng mô -đun 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) 5Bạn cũng có thể nhận kích thước tệp bằng mô -đun 5. Lưu ý rằng phương pháp này chỉ đơn giản là một trình bao bọc xung quanh 5 khi nó trả về cùng một đối tượng.from pathlib import Path # the absoulte path of the file file_path = r"C:\Users\piyush\Documents\Projects\movie_reviews_data\IMDB Dataset 5k.csv" # get the file size print(Path(file_path).stat().st_size) Output: 6716779 Chúng tôi nhận được kích thước tệp trong byte. Với điều này, chúng tôi đi đến cuối hướng dẫn này. Các ví dụ và kết quả mã được trình bày trong hướng dẫn này đã được triển khai trong một cuốn sổ tay Jupyter với hạt nhân Python (phiên bản 3.8.3).
Hướng dẫn về tương tác với hệ thống tệp trong Python -
Làm cách nào để tìm kích thước của tệp CSV trong Python?Sử dụng stat () từ mô -đun HĐH, bạn có thể nhận được chi tiết của một tệp. Sử dụng thuộc tính ST_SIZE của STAT () để có được kích thước tệp. Đơn vị của kích thước tệp là byte.Use the st_size attribute of stat() method to get the file size. The unit of the file size is byte .
Làm cách nào để kiểm tra kích thước của tệp CSV?Dung dịch.Mở tệp CSV trong Excel.Chèn một cột mới vào bên phải của cột bạn muốn kiểm tra.Đặt tên cho cột mới của bạn "Độ dài" hoặc một cái gì đó như "Cột_Name_Lpm" để giúp xác định khi sắp xếp dễ dàng hơn.
Làm cách nào để có được kích thước của một tệp trong Python?Mô -đun HĐH Python có hàm Stat () trong đó chúng ta có thể chuyển tên tệp làm đối số.Hàm này trả về một cấu trúc tuple chứa thông tin tệp.Sau đó, chúng ta có thể lấy thuộc tính ST_SIZE của nó để có được kích thước tệp tính bằng byte.. This function returns a tuple structure that contains the file information. We can then get its st_size property to get the file size in bytes.
Làm cách nào để đếm số lượng hàng trong tệp CSV mà không cần mở nó?Làm thế nào để bạn đếm các hàng trong CSV bằng gấu trúc ?.. Nhập GANDAS dưới dạng PD.# Đọc tập dữ liệu.df = pd..... # Số lượng hàng bằng cách sử dụng .Shape [0] in (df.shape) in (df.shape [0]). (145460, 23) 145460. (145460, 23) 145460 .. # Số lượng hàng sử dụng Len () Print (Len (DF)) # Số lượng hàng sử dụng Len () Print (Len (DF)). 145460. 145460 .. |