python读取一个txt文件,三列分别为年月数据(有好几年数据),求第三列每一年数据平均值
时间: 2024-03-26 20:39:46 浏览: 205
好的,可以使用Python内置的文件操作函数和列表操作函数来实现。下面是一个示例代码:
```python
with open('file.txt', 'r') as f:
data = f.readlines() # 读取所有行数据到列表中
year_data = {} # 存储每年的第三列数据
for line in data:
year, month, value = line.strip().split() # 去除每行末尾的换行符并按空格分割
year = int(year) # 将年份转换为整数
if year not in year_data:
year_data[year] = [] # 如果该年份不存在,则创建一个新的列表
year_data[year].append(float(value)) # 将第三列数据转换为浮点数并添加到该年份对应的列表中
for year, values in year_data.items():
avg_value = sum(values) / len(values) # 计算平均值
print(f'The average value of the third column in {year} is {avg_value:.2f}.') # 输出结果,保留两位小数
```
需要将上述代码中的`file.txt`替换为你要读取的文件名。
相关问题
python读取一个txt文件,三列分别为年月数据,求第三列数据平均值
好的,可以使用Python内置的文件操作函数和列表操作函数来实现。下面是一个示例代码:
```python
with open('file.txt', 'r') as f:
data = f.readlines() # 读取所有行数据到列表中
values = [] # 存储第三列数据
for line in data:
year, month, value = line.strip().split() # 去除每行末尾的换行符并按空格分割
values.append(float(value)) # 将第三列数据转换为浮点数并添加到列表中
avg_value = sum(values) / len(values) # 计算平均值
print(f'The average value of the third column is {avg_value:.2f}.') # 输出结果,保留两位小数
```
需要将上述代码中的`file.txt`替换为你要读取的文件名。
python读取txt文件中,三列分别为年月一种数据,存到列表中,求最后一列数据的平均值,
好的,可以通过以下代码实现:
```python
filename = "file.txt"
data_list = []
with open(filename, "r") as f:
for line in f:
data = line.strip().split()
year, month, value = int(data[0]), int(data[1]), float(data[2])
data_list.append((year, month, value))
sum_value = 0
for _, _, value in data_list:
sum_value += value
avg_value = sum_value / len(data_list)
print("数据平均值为:", avg_value)
```
这段代码首先打开名为 "file.txt" 的文件,然后遍历文件中的每一行,使用 `split()` 方法将每一行按照空格分成多个部分,然后取出前两个部分分别作为年、月,最后一个部分作为数据,并将它们作为元组 `(year, month, value)` 添加到列表 `data_list` 中。然后遍历 `data_list` 计算最后一列数据的和,并除以列表长度求其平均值。最后输出结果。
阅读全文