gpt4 book ai didi

python - 从最后一行读取csv文件

转载 作者:行者123 更新时间:2023-12-01 05:49:44 28 4
gpt4 key购买 nike

我搜索了很多,但找不到从特定行号读取 csv 文件中的数据的方法。

csv 文件会即时更新。更准确地说,分隔符是制表符空格所以,在时间 t1:

1 2 3
5 6 7
8 9 10
11 12 13
14 15 16

在时间 t2 是

1 2 3
5 6 7
8 9 10
11 12 13
14 15 16
17 18 19

我有一个集合(双端队列),我想在其中附加 csv 文件中 coloumn0 的数据。

目前我编写的代码能够做到这一点:在时间 0:

[deque([0, 0, 0, 0, 0], maxlen=5)]

时间 1:

[deque(['1', '5', '8', '11', '14'])]

时间 2:

[deque(['5', '8', '11', '14','17'])]

我编写的代码正在以我想要的格式读取它。

Question:

但是当我在某个点“x”再次重新打开文件时。它应该从

读取
[deque(['8', '11', '14','17','x'])]

而不是

[deque(['1', '5', '8', '11', '14'])]

我是否可以读取一行并跳转到下一个文件?有没有一个库可以让我这样做?

我说清楚了吗?还是我错过了提供一些信息?

通过获取 kurtis 的输入来更新此问题的答案(所有功劳归于他):

perf_his = []

for a in range(len(filename)):
perf_his += [deque([0]*5,maxlen=5)]
for a in range(len(filename)):
lines = open(filename[a]).readlines()[-NUM_LINES:]
mydata = [line.split()[0] for line in lines]
for i in range(0, len(mydata)):
perf_his[a].append(mydata[i])
print perf_his

最佳答案

您真的想向后读取文件吗?从您发布的内容来看,您似乎只想处理最后 5 行 - 否则您将在 t2 处代替 deque(['5', '8', '11', '14','17'])有双端队列(['17', '14', '11', '8', '5'])。

假设您真正想做的只是处理最后 5 行,您可以这样做 -

from collections import deque

NUM_LINES=5 #The number of lines to process. Should equal the deque maxlen

lines = open("myfile.csv").readlines()[-NUM_LINES:] #Assumes the file can fit into memory
mydata = [line.split()[0] for line in lines]
d = deque(mydata, maxlen=NUM_LINES)
print d

关于python - 从最后一行读取csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14782763/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com