Hướng dẫn read last line of csv file python - đọc dòng cuối cùng của tệp csv python

Làm thế nào tôi có thể

f1 = open[inputFile, "r"]
last_line = f1.readlines[][-1]
f1.close[]
1 dòng cuối cùng của một tệp văn bản được đọc bằng Python?

fi=open[inputFile,"r"]
for line in fi:
    #go to last line and print it

Khi được hỏi ngày 14 tháng 5 năm 2016 lúc 14:33May 14, 2016 at 14:33

Một tùy chọn là sử dụng

f1 = open[inputFile, "r"]
last_line = f1.readlines[][-1]
f1.close[]
2:

f1 = open[inputFile, "r"]
last_line = f1.readlines[][-1]
f1.close[]

Tuy nhiên, nếu bạn không cần tệp sau, nên sử dụng bối cảnh bằng cách sử dụng

f1 = open[inputFile, "r"]
last_line = f1.readlines[][-1]
f1.close[]
3, để tệp được tự động đóng sau:

with open[inputFile, "r"] as f1:
    last_line = f1.readlines[][-1]

Đã trả lời ngày 14 tháng 5 năm 2016 lúc 14:37May 14, 2016 at 14:37

Rushy Panchalrushy PanchalRushy Panchal

16.3K16 Huy hiệu vàng58 Huy hiệu bạc92 Huy hiệu Đồng16 gold badges58 silver badges92 bronze badges

1

Bạn có cần phải hiệu quả bằng cách không đọc tất cả các dòng vào bộ nhớ cùng một lúc? Thay vào đó bạn có thể lặp lại đối tượng tệp.

with open[inputfile, "r"] as f:
    for line in f: pass
    print line #this is the last line of the file

Đã trả lời ngày 14 tháng 5 năm 2016 lúc 14:39May 14, 2016 at 14:39

Gnicholasgnicholasgnicholas

1.9731 Huy hiệu vàng20 Huy hiệu bạc32 Huy hiệu Đồng1 gold badge20 silver badges32 bronze badges

1

Ba cách để đọc dòng cuối cùng của một tệp:

  • Đối với một tệp nhỏ, hãy đọc toàn bộ tệp vào bộ nhớ
with open["file.txt"] as file:            
    lines = file.readlines[]
print[lines[-1]]
  • Đối với một tệp lớn, hãy đọc từng dòng và in dòng cuối cùng
with open["file.txt"] as file:
    for line in file:
        pass
print[line]
  • Để tiếp cận hiệu quả, hãy trực tiếp đến dòng cuối cùng
import os

with open["file.txt", "rb"] as file:
    # Go to the end of the file before the last break-line
    file.seek[-2, os.SEEK_END] 
    # Keep reading backward until you find the next break-line
    while file.read[1] != b'\n':
        file.seek[-2, os.SEEK_CUR] 
    print[file.readline[].decode[]]

Đã trả lời ngày 16 tháng 7 năm 2021 lúc 18:30Jul 16, 2021 at 18:30

Kafrankafrankafran

5144 Huy hiệu bạc10 Huy hiệu đồng4 silver badges10 bronze badges

Nếu bạn có đủ khả năng để đọc toàn bộ tệp trong bộ nhớ [nếu fileize nhỏ hơn đáng kể so với tổng bộ nhớ], bạn có thể sử dụng phương thức readlines [] như đã đề cập trong một trong các câu trả lời khác, nhưng nếu tệp lớn, thì tốt nhất Cách để làm điều đó là:

fi=open[inputFile, 'r']
lastline = ""
for line in fi:
  lastline = line
print lastline

Đã trả lời ngày 14 tháng 5 năm 2016 lúc 14:43May 14, 2016 at 14:43

ajays20078ajays20078ajays20078

3481 Huy hiệu vàng2 Huy hiệu bạc10 Huy hiệu đồng1 gold badge2 silver badges10 bronze badges

1

Bạn có thể sử dụng

f1 = open[inputFile, "r"]
last_line = f1.readlines[][-1]
f1.close[]
4 để đọc tệp của mình dưới dạng danh sách và in dòng cuối cùng.

Nhược điểm: Phương pháp này phân bổ một biến mới [không phải là một trình lưu giữ bộ nhớ lý tưởng cho các tệp rất lớn].: This method allocates a new variable [not an ideal memory-saver for very large files].

Ưu điểm: Tra cứu danh sách mất thời gian O [1] và bạn có thể dễ dàng điều khiển danh sách nếu bạn muốn sửa đổi InputFile của mình, cũng như đọc dòng cuối cùng.: List lookups take O[1] time, and you can easily manipulate a list if you happen to want to modify your inputFile, as well as read the final line.

import csv

lis = list[csv.reader[open[inputFile]]]
print lis[-1] # prints final line as a list of strings

Đã trả lời ngày 15 tháng 5 năm 2016 lúc 8:40May 15, 2016 at 8:40

DanieldanielDaniel

2.2214 Huy hiệu vàng18 Huy hiệu bạc35 Huy hiệu Đồng4 gold badges18 silver badges35 bronze badges

Nếu bạn quan tâm đến bộ nhớ, điều này sẽ giúp bạn.

last_line = ''
with open[inputfile, "r"] as f:
    f.seek[-2, os.SEEK_END]  # -2 because last character is likely \n
    cur_char = f.read[1]

    while cur_char != '\n':
        last_line = cur_char + last_line
        f.seek[-2, os.SEEK_CUR]
        cur_char = f.read[1]

    print last_line

Đã trả lời ngày 18 tháng 1 năm 2019 lúc 15:56Jan 18, 2019 at 15:56

Điều này có thể giúp bạn.

f1 = open[inputFile, "r"]
last_line = f1.readlines[][-1]
f1.close[]
0

Đã trả lời ngày 26 tháng 7 năm 2018 lúc 11:16Jul 26, 2018 at 11:16

Làm cách nào để đọc dòng cuối cùng của tệp CSV trong Python?

Bạn có thể sử dụng csv.Reader [] để đọc tệp của bạn dưới dạng danh sách và in dòng cuối cùng.csv. reader[] to read your file as a list and print the last line.

Làm cách nào để đọc dòng cuối cùng của một tệp trong Python?

Để đọc dòng cuối cùng của một tệp trong Python mà không lưu trữ toàn bộ tệp trong bộ nhớ: Vòng lặp qua từng dòng trong tệp.skip mỗi dòng cho đến khi bạn đạt được dòng cuối cùng. Dòng cuối cùng trong bộ nhớ.Loop through each line in the file. Skip each line until you reach the last line. Save the last line in memory.

Làm thế nào để bạn bỏ qua dòng cuối cùng trong khi đọc một tệp trong Python?

Làm thế nào để bạn bỏ qua dòng cuối cùng trong khi đọc một tệp trong Python?Có nhiều cách mà bạn có thể bỏ qua một dòng trong Python.Một số phương pháp là: nếu, tiếp tục, phá vỡ, vượt qua, đọc [] và cắt lát.if, continue, break, pass, readlines[], and slicing.

Làm cách nào để xóa hàng cuối cùng của tệp CSV trong Python?

ILOC [] Bạn có thể thả các hàng từ DataFrame và sử dụng -1 để thả hàng cuối cùng.Ví dụ sử dụng DF.ILOC [:-1 ,:] để chọn tất cả các hàng ngoại trừ hàng cuối cùng và sau đó gán lại cho biến ban đầu, lý tưởng là bỏ hàng cuối cùng từ DataFrame.Năng suất dưới đầu ra.drop the rows from DataFrame and use -1 to drop the last row. For example use df. iloc[:-1,:] to select all rows except the last one and then assign it back to the original variable which ideally drops the last row from DataFrame. Yields below output.

Bài Viết Liên Quan

Chủ Đề