Python đọc n dòng cuối cùng của tệp csv

Vòng lặp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
37 được sử dụng để lặp qua từng phần tử của một lần lặp trong Python. Chúng ta có thể sử dụng vòng lặp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
37 để lặp qua từng dòng bên trong tệp một cách tuần tự và sau đó đọc dòng cuối cùng của tệp. Đoạn mã sau chỉ cho chúng ta cách đọc dòng cuối cùng của tệp bằng vòng lặp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
37

with open['file.txt', 'r'] as f:
    for line in f:
        pass
    last_line = line
print[last_line]

đầu ra

Chúng tôi đã mở tệp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
40 ở chế độ
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
41 và sử dụng vòng lặp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
37 để lặp qua từng dòng trong tệp. Chúng tôi đã sử dụng từ khóa
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
43 để giữ cho vòng lặp trống. Từ khóa
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
43 này hoạt động như một dòng trống trong Python và được sử dụng khi chúng ta không muốn viết bất kỳ mã nào bên trong vòng lặp hoặc câu lệnh điều kiện. Chúng tôi lưu trữ dòng cuối cùng bên trong biến
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
1 khi vòng lặp kết thúc và in giá trị của nó

Đọc dòng cuối cùng của tệp với hàm
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
2 trong Python

Hàm

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
3 đọc tất cả các dòng của tệp và trả về chúng dưới dạng danh sách. Sau đó, chúng tôi có thể lấy dòng cuối cùng của tệp bằng cách tham chiếu chỉ mục cuối cùng của danh sách bằng cách sử dụng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
4 làm chỉ mục. Ví dụ mã sau đây cho chúng ta biết cách đọc dòng cuối cùng của tệp bằng hàm
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
3 của Python

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]

đầu ra

Chúng tôi đã mở tệp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
40 ở chế độ
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
41 và sử dụng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
8 để đọc dòng cuối cùng của tệp. Chúng tôi đã sử dụng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
9 vì hàm
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
2 trả về tất cả các dòng ở dạng danh sách và chỉ mục
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
9 này cung cấp cho chúng tôi phần tử cuối cùng của danh sách đó

Trong Python, không có phương thức nào có thể đọc trực tiếp dòng cuối cùng của tệp. Vì vậy, chúng ta phải đọc toàn bộ tệp một cách tuần tự cho đến khi đến dòng cuối cùng. Phương thức đầu tiên đọc từng dòng tệp, trong khi phương thức thứ hai đọc tất cả các dòng cùng một lúc

Định dạng được gọi là CSV [Giá trị được phân tách bằng dấu phẩy] là định dạng nhập và xuất phổ biến nhất cho bảng tính và cơ sở dữ liệu. Định dạng CSV đã được sử dụng trong nhiều năm trước khi cố gắng mô tả định dạng theo cách chuẩn hóa trong RFC 4180. Việc thiếu một tiêu chuẩn được xác định rõ ràng có nghĩa là những khác biệt tinh tế thường tồn tại trong dữ liệu được tạo ra và sử dụng bởi các ứng dụng khác nhau. Những khác biệt này có thể gây khó chịu khi xử lý tệp CSV từ nhiều nguồn. Tuy nhiên, trong khi các dấu phân cách và ký tự trích dẫn khác nhau, định dạng tổng thể tương tự nhau đủ để có thể viết một mô-đun duy nhất có thể thao tác dữ liệu đó một cách hiệu quả, ẩn các chi tiết đọc và ghi dữ liệu khỏi lập trình viên.

Mô-đun

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
13 triển khai các lớp để đọc và ghi dữ liệu dạng bảng ở định dạng CSV. Nó cho phép các lập trình viên nói, "ghi dữ liệu này ở định dạng ưa thích của Excel" hoặc "đọc dữ liệu từ tệp này được tạo bởi Excel" mà không cần biết các chi tiết chính xác của định dạng CSV được sử dụng bởi Excel. Các lập trình viên cũng có thể mô tả các định dạng CSV mà các ứng dụng khác hiểu được hoặc xác định các định dạng CSV có mục đích đặc biệt của riêng họ

Các đối tượng

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
16 và
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17 của mô-đun
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
13 đọc và ghi các trình tự. Các lập trình viên cũng có thể đọc và ghi dữ liệu ở dạng từ điển bằng cách sử dụng các lớp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
18 và
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
19

Xem thêm

PEP 305 - API tệp CSV

Đề xuất cải tiến Python đã đề xuất bổ sung này cho Python

Nội dung mô-đun¶

Mô-đun

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
13 xác định các chức năng sau

csv. trình đọc[csvfile , phương ngữ='excel', **fmtparams]

Trả về đối tượng trình đọc sẽ lặp qua các dòng trong tệp csv đã cho. csvfile có thể là bất kỳ đối tượng nào hỗ trợ giao thức iterator và trả về một chuỗi mỗi khi phương thức

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
81 của nó được gọi — file . Nếu csvfile là một đối tượng tệp, nó sẽ được mở bằng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
82. 1 Có thể cung cấp một tham số phương ngữ tùy chọn được sử dụng để xác định một tập hợp các tham số dành riêng cho một phương ngữ CSV cụ thể. Nó có thể là một thể hiện của một lớp con của lớp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 hoặc một trong các chuỗi được trả về bởi hàm
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84. Các đối số từ khóa fmtparams tùy chọn khác có thể được cung cấp để ghi đè các tham số định dạng riêng lẻ trong phương ngữ hiện tại. Để biết chi tiết đầy đủ về phương ngữ và tham số định dạng, hãy xem phần
and list objects are both suitable. If csvfile is a file object, it should be opened with
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
82. 1 An optional dialect parameter can be given which is used to define a set of parameters specific to a particular CSV dialect. It may be an instance of a subclass of the
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 class or one of the strings returned by the
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84 function. The other optional fmtparams keyword arguments can be given to override individual formatting parameters in the current dialect. For full details about the dialect and formatting parameters, see section Phương ngữ và tham số định dạng .

Mỗi hàng được đọc từ tệp csv được trả về dưới dạng danh sách các chuỗi. Không có chuyển đổi loại dữ liệu tự động nào được thực hiện trừ khi tùy chọn định dạng

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
85 được chỉ định [trong trường hợp đó, các trường không được trích dẫn sẽ được chuyển đổi thành số thực]

Một ví dụ sử dụng ngắn

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
3

csv. người viết[csvfile , phương ngữ='excel', **fmtparams]

Trả về một đối tượng nhà văn chịu trách nhiệm chuyển đổi dữ liệu của người dùng thành các chuỗi được phân tách trên đối tượng giống như tệp đã cho. csvfile có thể là bất kỳ đối tượng nào với phương thức

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
86. Nếu csvfile là một đối tượng tệp, nó sẽ được mở bằng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
82 1. Có thể cung cấp một tham số phương ngữ tùy chọn được sử dụng để xác định một tập hợp các tham số dành riêng cho một phương ngữ CSV cụ thể. Nó có thể là một thể hiện của một lớp con của lớp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 hoặc một trong các chuỗi được trả về bởi hàm
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84. Các đối số từ khóa fmtparams tùy chọn khác có thể được cung cấp để ghi đè các tham số định dạng riêng lẻ trong phương ngữ hiện tại. Để biết chi tiết đầy đủ về phương ngữ và tham số định dạng, hãy xem phần Phương ngữ và tham số định dạng . Để giao tiếp với các mô-đun triển khai API DB dễ dàng nhất có thể, giá trị
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
80 được viết dưới dạng chuỗi trống. Mặc dù đây không phải là phép chuyển đổi có thể đảo ngược, nhưng nó giúp kết xuất giá trị dữ liệu SQL NULL sang tệp CSV dễ dàng hơn mà không cần xử lý trước dữ liệu được trả về từ lệnh gọi
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
81. Tất cả dữ liệu không phải chuỗi khác được xâu chuỗi bằng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
82 trước khi được ghi.

Một ví dụ sử dụng ngắn

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
1

csv. register_dialect[tên[ , dialect[, **fmtparams]]]

Liên kết phương ngữ với tên. tên phải là một chuỗi. Phương ngữ có thể được chỉ định bằng cách chuyển một lớp con của

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 hoặc bằng các đối số từ khóa fmtparams hoặc cả hai, với các đối số từ khóa ghi đè các tham số của phương ngữ. Để biết đầy đủ chi tiết về phương ngữ và tham số định dạng, hãy xem phần Phương ngữ và tham số định dạng .

csv. unregister_dialect[tên]

Xóa phương ngữ được liên kết với tên khỏi sổ đăng ký phương ngữ. Một

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84 được nâng lên nếu tên không phải là tên phương ngữ đã đăng ký

csv. get_dialect[tên]

Trả lại phương ngữ được liên kết với tên. Một

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84 được nâng lên nếu tên không phải là tên phương ngữ đã đăng ký. Hàm này trả về một giá trị bất biến
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83

csv. list_dialects[]

Trả lại tên của tất cả các phương ngữ đã đăng ký

csv. field_size_limit[[new_limit]]

Trả về kích thước trường tối đa hiện tại được trình phân tích cú pháp cho phép. Nếu new_limit được đưa ra, điều này sẽ trở thành giới hạn mới

Mô-đun

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
13 định nghĩa các lớp sau

lớp csv. DictReader[f , tên trường=None, restkey=None, restval=None, dialect='excel', *args, **kwds]

Tạo một đối tượng hoạt động như một trình đọc thông thường nhưng ánh xạ thông tin trong mỗi hàng tới một

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
88 có các khóa được cung cấp bởi tham số tên trường tùy chọn

Tham số tên trường là một trình tự . Nếu tên trường bị bỏ qua, các giá trị trong hàng đầu tiên của tệp f sẽ được sử dụng làm tên trường. Bất kể tên trường được xác định như thế nào, từ điển sẽ giữ nguyên thứ tự ban đầu của chúng.

Nếu một hàng có nhiều trường hơn tên trường, dữ liệu còn lại sẽ được đưa vào danh sách và được lưu trữ với tên trường được chỉ định bởi phím đặt lại [mặc định là

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
80]. Nếu một hàng không trống có ít trường hơn tên trường, thì các giá trị còn thiếu sẽ được điền vào bằng giá trị của restval [giá trị này mặc định là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
80]

Tất cả các đối số tùy chọn hoặc từ khóa khác được chuyển đến phiên bản

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
16 bên dưới

Đã thay đổi trong phiên bản 3. 6. Các hàng được trả về hiện thuộc loại

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
12.

Đã thay đổi trong phiên bản 3. 8. Các hàng được trả về hiện thuộc loại

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
88.

Một ví dụ sử dụng ngắn

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
8

lớp csv. DictWriter[f , tên trường, restval='', extrasaction='raise', dialect='excel', *args, **kwds]

Tạo một đối tượng hoạt động giống như một trình ghi thông thường nhưng ánh xạ từ điển lên các hàng đầu ra. Tham số tên trường là một

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
14 khóa xác định thứ tự các giá trị trong từ điển được truyền cho phương thức
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
15 được ghi vào tệp f. Tham số restval tùy chọn chỉ định giá trị sẽ được ghi nếu từ điển thiếu khóa trong tên trường. Nếu từ điển được chuyển đến phương thức
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
15 chứa khóa không tìm thấy trong tên trường, tham số bổ sung tùy chọn cho biết hành động cần thực hiện. Nếu nó được đặt thành
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17, giá trị mặc định, một
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
18 sẽ được nâng lên. Nếu nó được đặt thành
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
19, các giá trị bổ sung trong từ điển sẽ bị bỏ qua. Bất kỳ đối số tùy chọn hoặc từ khóa nào khác được chuyển đến đối tượng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17 bên dưới

Lưu ý rằng không giống như lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
18, tham số tên trường của lớp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
19 không phải là tùy chọn

Một ví dụ sử dụng ngắn

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
8

lớp csv. Phương ngữ

Lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 là lớp chứa có thuộc tính chứa thông tin về cách xử lý dấu ngoặc kép, khoảng trắng, dấu phân cách, v.v. Do thiếu thông số kỹ thuật CSV nghiêm ngặt, các ứng dụng khác nhau tạo ra dữ liệu CSV khác nhau một cách tinh vi. Phiên bản
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 xác định cách hoạt động của phiên bản
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
16 và
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17

Tất cả các tên

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 có sẵn được trả về bởi
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84 và chúng có thể được đăng ký với các lớp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
16 và
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17 cụ thể thông qua các hàm khởi tạo [
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
21] của chúng như thế này

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
1

lớp csv. excel

Lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
22 xác định các thuộc tính thông thường của tệp CSV do Excel tạo. Nó được đăng ký với tên phương ngữ
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
23

lớp csv. excel_tab

Lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
24 xác định các thuộc tính thông thường của tệp được phân định bằng TAB do Excel tạo. Nó được đăng ký với tên phương ngữ
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
25

lớp csv. unix_dialect

Lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
26 định nghĩa các thuộc tính thông thường của tệp CSV được tạo trên hệ thống UNIX, tôi. e. sử dụng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
27 làm dấu kết thúc dòng và trích dẫn tất cả các trường. Nó được đăng ký với tên phương ngữ
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
28

Mới trong phiên bản 3. 2

lớp csv. Người đánh hơi

Lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
29 được sử dụng để suy ra định dạng của tệp CSV

Lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
29 cung cấp hai phương thức

sniff[mẫu , dấu phân cách=None]

Phân tích mẫu đã cho và trả về một phân lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 phản ánh các tham số được tìm thấy. Nếu tham số dấu phân cách tùy chọn được đưa ra, nó được hiểu là một chuỗi chứa các ký tự dấu phân cách hợp lệ có thể có

has_header[mẫu]

Phân tích văn bản mẫu [được cho là ở định dạng CSV] và trả về

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
42 nếu hàng đầu tiên có vẻ là một loạt tiêu đề cột. Kiểm tra từng cột, một trong hai tiêu chí chính sẽ được xem xét để ước tính xem mẫu có chứa tiêu đề hay không

  • hàng thứ hai đến hàng thứ n chứa các giá trị số

  • hàng thứ hai đến hàng thứ n chứa các chuỗi trong đó độ dài của ít nhất một giá trị khác với độ dài của tiêu đề giả định của cột đó

Hai mươi hàng sau hàng đầu tiên được lấy mẫu;

Ghi chú

Phương pháp này là một heuristic thô và có thể tạo ra cả dương tính giả và âm tính

Một ví dụ cho việc sử dụng

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
29

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
7

Mô-đun

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
13 xác định các hằng số sau

csv. QUOTE_ALL

Hướng dẫn các đối tượng

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17 trích dẫn tất cả các trường

csv. QUOTE_MINIMAL

Hướng dẫn các đối tượng

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17 chỉ trích dẫn những trường có chứa các ký tự đặc biệt như dấu phân cách, ký tự trích dẫn hoặc bất kỳ ký tự nào trong lineterminator

csv. QUOTE_NONNUMERIC

Hướng dẫn các đối tượng

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17 trích dẫn tất cả các trường không phải là số

Hướng dẫn người đọc chuyển đổi tất cả các trường không được trích dẫn để nhập float

csv. QUOTE_NONE

Hướng dẫn các đối tượng

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17 không bao giờ trích dẫn các trường. Khi dấu phân cách hiện tại xuất hiện trong dữ liệu đầu ra, nó được bắt đầu bằng ký tự thoát hiện tại. Nếu ký tự thoát không được đặt, người viết sẽ tăng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84 nếu gặp phải bất kỳ ký tự nào yêu cầu thoát

Hướng dẫn

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
16 không thực hiện xử lý đặc biệt các ký tự trích dẫn

Mô-đun

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
13 xác định ngoại lệ sau

ngoại lệ csv. Lỗi

Tăng lên bởi bất kỳ chức năng nào khi phát hiện lỗi

Phương ngữ và tham số định dạng¶

Để dễ dàng chỉ định định dạng của bản ghi đầu vào và đầu ra, các tham số định dạng cụ thể được nhóm lại với nhau thành các phương ngữ. Một phương ngữ là một lớp con của lớp

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 có một tập hợp các phương thức cụ thể và một phương thức
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
74 duy nhất. Khi tạo các đối tượng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
16 hoặc
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17, lập trình viên có thể chỉ định một chuỗi hoặc một lớp con của lớp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 làm tham số phương ngữ. Ngoài, hoặc thay cho tham số phương ngữ, lập trình viên cũng có thể chỉ định các tham số định dạng riêng lẻ, có cùng tên với các thuộc tính được xác định bên dưới cho lớp
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83

Các phương ngữ hỗ trợ các thuộc tính sau

Phương ngữ. dấu phân cách

Chuỗi một ký tự được sử dụng để phân tách các trường. Nó mặc định là

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
79

Phương ngữ. trích dẫn kép

Kiểm soát cách các phiên bản của quotechar xuất hiện bên trong một trường sẽ được trích dẫn. Khi

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
42, ký tự được nhân đôi. Khi
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
41, ký tự thoát được sử dụng làm tiền tố cho ký tự trích dẫn. Nó mặc định là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
42

Ở đầu ra, nếu trích dẫn kép là

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
41 và không có ký tự thoát nào được đặt, thì
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84 được nâng lên nếu tìm thấy ký tự trích dẫn trong một trường

Phương ngữ. ký tự thoát

Chuỗi một ký tự được người viết sử dụng để thoát khỏi dấu phân cách nếu trích dẫn được đặt thành

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
45 và ký tự trích dẫn nếu trích dẫn kép là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
41. Khi đọc, ký tự thoát sẽ xóa mọi ý nghĩa đặc biệt khỏi ký tự sau. Nó mặc định là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
80, vô hiệu hóa việc thoát

Đã thay đổi trong phiên bản 3. 11. Không được phép sử dụng ký tự thoát rỗng.

Phương ngữ. lineterminator

Chuỗi được sử dụng để kết thúc các dòng được tạo bởi

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
17. Nó mặc định là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
49

Ghi chú

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
16 được mã hóa cứng để nhận ra
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
101 hoặc
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
27 là cuối dòng và bỏ qua bộ kết thúc dòng. Hành vi này có thể thay đổi trong tương lai

Phương ngữ. báo giá

Chuỗi một ký tự được sử dụng để trích dẫn các trường chứa ký tự đặc biệt, chẳng hạn như dấu phân cách hoặc ký tự trích dẫn hoặc chứa ký tự xuống dòng. Nó mặc định là

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
103

Đã thay đổi trong phiên bản 3. 11. Không được phép sử dụng ký tự trích dẫn trống.

Phương ngữ. trích dẫn

Kiểm soát thời điểm người viết tạo trích dẫn và người đọc nhận ra. Nó có thể nhận bất kỳ hằng số

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
104 nào [xem phần Nội dung mô-đun ] và mặc định là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
105.

Phương ngữ. bỏ qua dấu cách

Khi

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
42, khoảng trắng ngay sau dấu phân cách sẽ bị bỏ qua. Mặc định là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
41

Phương ngữ. nghiêm ngặt

Khi

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
42, tăng ngoại lệ
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
84 đối với đầu vào CSV không hợp lệ. Mặc định là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
41

Đối tượng người đọc¶

Đối tượng reader [_______118 thể hiện và đối tượng được trả về bởi hàm

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
112] có các phương thức công khai sau

csvreader. __next__[]

Trả về hàng tiếp theo của đối tượng có thể lặp lại của trình đọc dưới dạng danh sách [nếu đối tượng được trả về từ

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
112] hoặc lệnh [nếu đó là phiên bản
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
18], được phân tích cú pháp theo
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 hiện tại. Thông thường bạn nên gọi đây là
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
116

Đối tượng người đọc có các thuộc tính công khai sau

csvreader. phương ngữ

Mô tả chỉ đọc của phương ngữ được trình phân tích cú pháp sử dụng

csvreader. line_num

Số dòng được đọc từ trình lặp nguồn. Điều này không giống với số lượng bản ghi được trả về, vì bản ghi có thể trải rộng trên nhiều dòng

Các đối tượng DictReader có thuộc tính public sau

csvreader. tên trường

Nếu không được truyền dưới dạng tham số khi tạo đối tượng, thì thuộc tính này được khởi tạo khi truy cập lần đầu hoặc khi bản ghi đầu tiên được đọc từ tệp

Đối tượng nhà văn¶

Các đối tượng

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
117 [_______119 thể hiện và đối tượng được trả về bởi hàm
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
119] có các phương thức công khai sau. Một hàng phải là một chuỗi hoặc số có thể lặp lại đối với đối tượng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
117 và tên trường ánh xạ từ điển thành chuỗi hoặc số [bằng cách chuyển chúng qua
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
82 trước] đối với đối tượng
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
19. Lưu ý rằng các số phức được viết ra bao quanh bởi dấu ngoặc đơn. Điều này có thể gây ra một số sự cố đối với các chương trình khác đọc tệp CSV [giả sử chúng hoàn toàn hỗ trợ các số phức]

csvwriter. nhà văn[hàng]

Viết tham số hàng vào đối tượng tệp của người viết, được định dạng theo

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
83 hiện tại. Trả lại giá trị trả về của lệnh gọi phương thức ghi của đối tượng tệp bên dưới

Đã thay đổi trong phiên bản 3. 5. Đã thêm hỗ trợ cho các lần lặp tùy ý.

csvwriter. hàng viết[hàng]

Viết tất cả các thành phần trong hàng [một đối tượng hàng có thể lặp lại như được mô tả ở trên] vào đối tượng tệp của người viết, được định dạng theo phương ngữ hiện tại

Các đối tượng nhà văn có thuộc tính công khai sau

csvwriter. phương ngữ

Một mô tả chỉ đọc về phương ngữ được sử dụng bởi nhà văn

Các đối tượng DictWriter có phương thức công khai sau

DictWriter. tiêu đề ghi[]

Viết một hàng có tên trường [như được chỉ định trong hàm tạo] vào đối tượng tệp của người viết, được định dạng theo phương ngữ hiện tại. Trả về giá trị trả về của cuộc gọi

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
124 được sử dụng nội bộ

Mới trong phiên bản 3. 2

Đã thay đổi trong phiên bản 3. 8. ______1125 giờ đây cũng trả về giá trị được trả về bởi phương thức

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
124 mà nó sử dụng nội bộ.

Ví dụ¶

Ví dụ đơn giản nhất về đọc tệp CSV

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
2

Đọc một tệp có định dạng thay thế

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
4

Ví dụ viết đơn giản nhất có thể tương ứng là

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
7

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
127 được sử dụng để mở tệp CSV để đọc, theo mặc định, tệp sẽ được giải mã thành unicode bằng cách sử dụng mã hóa mặc định của hệ thống [xem
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
128]. Để giải mã tệp bằng mã hóa khác, hãy sử dụng đối số
with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
129 của open

with open['file.txt', 'r'] as f:
    last_line = f.readlines[][-1]
print[last_line]
4

Điều tương tự cũng áp dụng cho việc viết bằng thứ gì đó không phải là mã hóa mặc định của hệ thống. chỉ định đối số mã hóa khi mở tệp đầu ra

Chủ Đề