我如何操作数据,使其正确地得到如下所述的数学描述?

2022-09-28 21:29:35 发布

您现在位置:Python中文网/ 问答频道 /正文

import csv
import math
inFile = open("Data.txt", "r+")
outFile = open("Analysis.txt", "r+")
temp_data = ()
guess = []
myReader = csv.reader(inFile)
with open("Data.txt", "r+") as reader:
for line in reader:
    temp_data = line.split(',')
    guess.append(temp_data[1])
for line in temp_data:
    for i in line:
        if i.isdigit() == True:
            int(round(temp_data))
inFile.close()

说明: 到目前为止,这是我正在做的一个学校项目,分析天气数据。Data.txt只是以正确的格式从政府网站收集的天气数据,上面的代码首先导入内容,打开必要的文件,并处理数据。我需要帮助了解如何使用python中的“round”函数将所有浮点数据值舍入为整数,然后找到所有数据的平均值、中值、平均值和模式。Analysis.txt只是从data.txt中取出中间一列并将其写入其中


Tags: csv数据inimporttxtfordatalineanalysisopentempinfilereaderguess
1条回答
网友
1楼 ·

在您包含的示例中似乎有很多冗余代码,所以我有点不确定您正在尝试做什么,但请参阅下面的建议。我基本上是遍历行中的所有项目,将它们转换为浮动并取整

.isdigit()更改为用于转换为float的try/except子句

guess = []
with open("Data.txt", "r+") as reader:
    for line in reader:
        temp_data = []
        for i in line.split(','):
            try:
                temp_data.append(round(float(i)))
            except ValueError:
                temp_data.append(i)
        guess.append(temp_data[1])

要将其写入新文件,可以执行以下操作

with open("Analysis.txt", "w") as writer:
    for g in guess:
        writer.write(str(g))

如果希望分隔写入的数据,可以使用以下代码(用\n分隔)

with open("Analysis.txt", "w") as writer:
    writer.writelines('\n'.join(map(str,guess)))