gpt4 book ai didi

python - 从 .csv 文件获取行数

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:50 25 4
gpt4 key购买 nike

我正在编写一个 Python 模块,在其中读取一个包含 2 列和随机数量行的 .csv 文件。然后我遍历这些行,直到第 1 列 > x。此时我需要当前行和上一行的数据来进行一些计算。

目前,我正在使用“for i in range(rows)”,但每个 csv 文件都有不同的行数,因此这不起作用。

代码如下:

rows = 73
for i in range(rows):

c_level = Strapping_Table[Tank_Number][i,0] # Current level
c_volume = Strapping_Table[Tank_Number][i,1] # Current volume

if c_level > level:

p_level = Strapping_Table[Tank_Number][i-1,0] # Previous level
p_volume = Strapping_Table[Tank_Number][i-1,1] # Previous volume

x = level - p_level # Intermediate values
if x < 0:
x = 0
y = c_level - p_level
z = c_volume - p_volume

volume = p_volume + ((x / y) * z)

return volume

在使用数组时,我使用了:

for row in Tank_data: 
print row[c] # print column c
time.sleep(1)

这会遍历所有行,但我无法使用此方法访问前面的行数据。

我曾考虑过在每个循环中存储前一行和当前行,但在执行此操作之前,我想知道是否有一种简单的方法来获取 csv 中的行数。

最佳答案

存储上一行

with open("myfile.txt", "r") as file:
previous_line = next(file)
for line in file:
print(previous_line, line)
previous_line = line

或者你可以将它与生成器一起使用

def prev_curr(file_name):
with open(file_name, "r") as file:
previous_line = next(file)
for line in file:
yield previous_line ,line
previous_line = line
# usage
for prev, curr in prev_curr("myfile"):
do_your_thing()

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

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