gpt4 book ai didi

python - 修复文本中的比较数据

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

我编写了一个程序(主要是复制/粘贴),用于将车辆 A 价格 (v_priceA) 与 carprices.txt 文本文件中的各种其他车辆价格进行比较,这些价格是在一个新行中。

结果应该是一个名为 highprices.txt 文件的新文本,其中所有价格高于车辆 A 价格的换行符。

我的问题是生成的文本文件具有较大文件的行号,而不是较大的价格本身。我需要解决这个问题。

车辆A价格:2500.50

汽车价格.txt

2500.40
2900.00
3500.50
2200.00
25000.30
45000.50

高价.txt

2900.00
3500.50
25000.30
45000.50
import numpy as np
v_priceA = 2500.50
a_file = 'carprices.txt'
with open(a_file, 'r') as document:
values = [x for x, value in enumerate(document) if float(value) > v_priceA]

new_file = open('highprice.txt', 'w')
for x in values:
new_file.write(str(x) + '\n')`

我的结果:高价.txt

2
3
5
6

期望的结果:

高价.txt

2900.00
3500.50
25000.30
45000.50

最佳答案

读取文件时,您可以利用循环,它会提供文件的每一行,因此这将解决您的问题:

values = [value for value in document if float(value) > v_priceA]

上一行是Python的一个特性,称为列表理解,它相当于下面的代码:

values = []

for value in document:
if float(value) > v_priceA:
values.append(value)

如果你想使用文件中的值,你应该在将它们附加到列表之前转换这些值,但是因为我看到你存储这些值并将它们保存在另一个文件中,所以你可以避免在之前将它们转换为 float 将它们附加到

为了产生所需的结果,代码的最终版本将是:

v_priceA = 2500.50
a_file = 'carprices.txt'
with open(a_file, 'r') as document:
values = [value for value in document if float(value) > v_priceA]

with open('highprice.txt', 'w') as f:
for x in values:
f.write(str(x))

关于python - 修复文本中的比较数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57877298/

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