为了账号安全,请及时绑定邮箱和手机立即绑定

仅打印.csv文件中的最后8个条目

仅打印.csv文件中的最后8个条目

繁花不似锦 2021-04-02 22:18:48
我有一个输入的csv文件,如下,我只想打印最新的8个条目。.任何人都可以提供有关如何执行此操作的输入吗?INPUT:-trend.csv['2013-06-25 20:01', '10']['2013-06-25 20:06', '9']['2013-06-25 20:06', '8']['2013-06-26 20:06', '7']['2013-06-26 20:06', '6']['2013-06-26 20:06', '5']['2013-06-26 20:06', '4']['2013-06-26 20:06', '3']['2013-06-26 20:06', '2']['2013-06-26 20:08', '1']OUTPUT:-['2013-06-25 20:06', '8']['2013-06-26 20:06', '7']['2013-06-26 20:06', '6']['2013-06-26 20:06', '5']['2013-06-26 20:06', '4']['2013-06-26 20:06', '3']['2013-06-26 20:06', '2']['2013-06-26 20:08', '1']代码:import csv#Now read the recent 8 entries and printcr = csv.reader(open("trend.csv","rb"))for row in cr:      #print only the recent most 8 entries    print row
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您可以将尾部配方与n = 8的双端队列配合使用。


这将创建一个双头队列,在该队列中,将一个项目添加到末尾(右侧)将有效地从开头(左侧)弹出一个项目,以使长度不超过最大长度:


>>> from collections import deque

>>> deque(range(10000),8)

deque([9992, 9993, 9994, 9995, 9996, 9997, 9998, 9999], maxlen=8)

所述csv.reader对象是一个迭代。将有限长度的双端队列应用到csv阅读器,您就可以开始了:


import csv

from collections import deque


with open('/tmp/trend.csv','rb') as fin:

    deq=deque(csv.reader(fin),8)


for sub_list in deq:

    print sub_list

以您的10行示例为例,将输出:


['2013-06-25 20:06', '8']

['2013-06-26 20:06', '7']

['2013-06-26 20:06', '6']

['2013-06-26 20:06', '5']

['2013-06-26 20:06', '4']

['2013-06-26 20:06', '3']

['2013-06-26 20:06', '2']

['2013-06-26 20:08', '1']


查看完整回答
反对 回复 2021-04-06
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

import csv


# Open the file with a "with" statement to provide automatic cleanup

# in case of exceptions.

with open("trend.csv","rb") as file:

    cr = csv.reader(file)

    lines = [row for row in cr]

# Use slice notation and the wonderful fact that python treats

# negative indices intelligently!

for line in lines[-8:]:

    print line


查看完整回答
反对 回复 2021-04-06
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

如果内存/性能不是问题,则可以执行以下操作:


for row in list(cr)[-8:]:  

    print row


查看完整回答
反对 回复 2021-04-06
  • 3 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信