2024-03-29 02:00:02 发布
网友
我想用python读取csv文件的最后24行。例如,如果csv数据有500行,我想把476行写到500行。我不知道csv文件有多少行。我试过这个代码,不起作用。 有人能帮我吗?你知道吗
z=0 r=0 for row in csvData: z += 1 for row in csvData: if r > (z-30) || r < z: html.write('{ x: new Date('+ row[0] + '), y:' + row[2] + '},') r += 1
代码无法工作的原因是csvData在第一个for循环中被完全读取。你知道吗
csvData
for
您需要在两个循环之间使用csvData.seek(0)来“倒带”文件。见"Why can't I call read() twice on an open file?"
csvData.seek(0)
不过,有一种较短的方法,可以用readlines()将所有行作为列表加载,然后直接选择最后24行:
readlines()
for row in csvData.readlines()[-24:]: # do something with row
只要你的csvData不是很大,这个就可以正常工作。你知道吗
如果您需要更有效(但更长)的方法,可以使用answer到"Get last n lines of a file with Python, similar to tail"。你知道吗
代码无法工作的原因是
csvData
在第一个for
循环中被完全读取。你知道吗您需要在两个循环之间使用
csvData.seek(0)
来“倒带”文件。见"Why can't I call read() twice on an open file?"不过,有一种较短的方法,可以用
readlines()
将所有行作为列表加载,然后直接选择最后24行:只要你的
csvData
不是很大,这个就可以正常工作。你知道吗如果您需要更有效(但更长)的方法,可以使用answer到"Get last n lines of a file with Python, similar to tail"。你知道吗
相关问题 更多 >
编程相关推荐