如何使用Python提取CSV文件最后一行的最后一列(日期列)
提取CSV最后一行的最后一列(date列)
没问题,我来帮你搞定这个问题!你当前的代码能拿到最后一行,但没法正确提取date列的核心原因是:你的CSV里的text字段包含逗号(而且被引号包裹),直接用字符串的split(',')会把这些字段内的逗号也当成列分隔符,导致分割出来的列数混乱,自然没法准确拿到最后一列。
推荐解决方案:使用Python内置的csv模块
Python的csv模块专门用来处理CSV文件,它能自动识别带引号的字段,不会把字段内部的逗号当成列分隔符,是处理CSV最可靠的方式。下面给你两种实现方式:
方式1:使用csv.reader按列索引提取
import csv inputFile = 'bouyguesForum_results.csv' # 使用with语句自动管理文件,避免手动close的疏漏 with open(inputFile, "r", encoding="utf-8") as f1: # 创建CSV读取器 reader = csv.reader(f1) # 把所有行转为列表,取最后一行 rows = list(reader) if rows: # 先判断文件是否为空 last_row = rows[-1] date_value = last_row[-1] # 取最后一列 print(date_value)
方式2:使用csv.DictReader按列名提取(更直观)
如果你的CSV第一行是表头(index、text、author、date),用DictReader可以直接通过列名获取对应值,可读性更强:
import csv inputFile = 'bouyguesForum_results.csv' with open(inputFile, "r", encoding="utf-8") as f1: # 创建字典格式的CSV读取器,自动用表头作为键 reader = csv.DictReader(f1) last_row = None # 遍历所有行,最后一行会覆盖last_row变量 for row in reader: last_row = row if last_row: date_value = last_row['date'] print(date_value)
额外提示
- 代码里指定了
encoding="utf-8",可以解决你输出里出现的乱码问题(比如Ã、€这类字符)。 - 用
with语句打开文件会自动关闭文件,比手动调用close()更安全,能避免忘记关闭文件导致的资源泄漏。
内容的提问来源于stack exchange,提问作者ossama assaghir
相关产品推荐
相关产品推荐

