首页 > 解决方案 > 从 CSV 输入 Python 中查找最后一行

问题描述

我真的没有找到与我的问题相关的例子,因为我不知道 Pandas,所以我把它贴在这里。让我知道这是否不清楚或已经得到回应。

我有一个 CSV 输入,我像这样导入

def import_csv(csvfilename):
    data = []
    with open(csvfilename, "r", encoding="utf-8", errors="ignore") as scraped:
        reader = csv.reader(scraped, delimiter=',')
        row_index = 0
        for row in reader:
            if row:  # avoid blank lines
                row_index += 1
                columns = [str(row_index), row[0], row[1], row[2]]
                data.append(columns)

    return data

我用 input_rows 索引行(可能有更好的方法?)

输入示例:

[['1',
  '[FirstValue]',
  'FirstText',
  'AB'],

 [...]

 ['12',
  "['LastValue']",
  "LastText",
  'YZ']]

我正在寻找这个输入列表的最后一行。有没有一种简单的方法可以在不遍历所有行的情况下做到这一点?

谢谢 !

标签: python

解决方案


您可以像这样获取数组中的最后一个元素:

some_list[-1]

事实上,你可以用这种语法做更多的事情。some_list[-n]语法获取倒数第 n 个元素。所以some_list[-1]获取最后一个元素,some_list[-2]获取倒数第二个等

因此,在您的情况下,它将是:

import csv    

def import_csv(csvfilename):
    data = []
    with open(csvfilename, "r", encoding="utf-8", errors="ignore") as scraped:
        reader = csv.reader(scraped, delimiter=',')
        for row in reader:
        if row:  # avoid blank lines
            row_index += 1
            columns = [str(row_index), row[0], row[1], row[2]]
            data.append(columns)
return data

data = import_csv(file_name)
last_row = data[-1]

推荐阅读