gpt4 book ai didi

Python - 从文件中的第一列计算第二列

转载 作者:太空狗 更新时间:2023-10-30 00:44:13 24 4
gpt4 key购买 nike

我是 Python 的初学者,无法应对我项目中的某个时刻,所以很高兴你能帮助我:)

让我们想象一下,我有一个只有一列的 *.txt 文件,如下所示:

         Column-1

row-1 0
row-2 25.00
row-3 27.14
row-4 29.29
row-5 31.43
row-6 33.57

*此处添加列和行只是为了简化说明。

我需要计算第二列,它从第 1 列作为输入数据,并输出从前一列减去该行值的结果(如果第 1 行(第 1 列)值为 0,则它也应该在第 1 行(第 2 列)中为 0)。它应该是这样的:

  • 第 2 行(第 2 列)=第 2 行(第 1 列)- 第 1 行(第 1 列)
  • 第 3 行(第 2 列)= 第 3 行(第 1 列)-第 2 行(第 1 列)等等。

让我告诉你输出文件应该是怎样的:

         Column-1  Column-2

row-1 0 0
row-2 25.00 25.00
row-3 27.14 2.14
row-4 29.29 2.15
row-5 31.50 2.21
row-6 33.57 2.07

现在我只在这里进行我的编程:

import sys

with open('file.txt', "r") as f:
sys.stdout = open('%s (calc).txt' % f.name, 'a')
for line in f:
column = line.strip().split()
Column_1 = float(column[0])
column.extend([None])

我不知道下一步该做什么。也许,numpy 适合这项任务?我这方面不强(基本上是完全不会),要不要学?

无论如何,我真的很感谢你的贡献。

最佳答案

我相信这会满足您的要求:

INPUT = 'file.txt'
OUTPUT = 'calc.txt'

def main():
with open(INPUT, 'r') as reader, open(OUTPUT, 'a') as writer:
last_value = 0
for line in reader:
column_1, *remaining_columns = map(float, line.split())
column_2 = column_1 - last_value
last_value = column_1
print(column_1, column_2, sep='\t', file=writer)

if __name__ == '__main__':
main()

关于Python - 从文件中的第一列计算第二列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32504143/

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