Python代码:从文件夹中读取txt文件,提取最大值并输出到Excel
使用Python从文件夹中读取txt文件,提取最大值并输出到Excel
本程序使用Python语言,读取文件夹中所有txt文件,每个txt文件包含两列数据,忽略第一行,提取第二列数据的最大值及其对应的第一列数据,并输出到Excel表格。
import os
import pandas as pd
# 定义文件夹路径
folder_path = '文件夹路径'
# 读取文件夹中的txt文件
txt_files = [file for file in os.listdir(folder_path) if file.endswith('.txt')]
# 创建空的DataFrame
data = pd.DataFrame(columns=['File', 'x_max', 'y_max'])
# 逐个读取txt文件
for file in txt_files:
file_path = os.path.join(folder_path, file)
# 从txt文件中读取数据
with open(file_path, 'r') as f:
lines = f.readlines()
# 忽略第一行数据
lines = lines[1:]
# 将数据存入字典
values = {'x': [], 'y': []}
for line in lines:
x, y = line.strip().split()
values['x'].append(x)
values['y'].append(float(y))
# 创建DataFrame
df = pd.DataFrame(values)
# 找到最大值的索引
max_index = df['y'].idxmax()
# 将最大值和对应的x值添加到DataFrame中
data = data.append({'File': file, 'x_max': df.iloc[max_index]['x'], 'y_max': df.iloc[max_index]['y']}, ignore_index=True)
# 将数据保存到Excel表格
output_path = '输出文件路径'
data.to_excel(output_path, index=False)
代码说明:
- 定义文件夹路径:将代码中的
'文件夹路径'替换为您要读取txt文件的实际文件夹路径。 - 读取文件夹中的txt文件:使用
os.listdir()获取文件夹中的所有文件,并使用endswith('.txt')筛选出所有txt文件。 - 创建空的DataFrame:使用
pd.DataFrame()创建一个空DataFrame,用于存储结果。 - 逐个读取txt文件:使用
for循环遍历所有txt文件,并依次读取文件内容。 - 从txt文件中读取数据:使用
open()函数打开文件,并使用readlines()读取所有行。 - 忽略第一行数据:使用列表切片
lines = lines[1:]忽略第一行数据。 - 将数据存入字典:使用
split()方法将每行数据分割成两列,并将数据存储到字典values中。 - 创建DataFrame:使用
pd.DataFrame()将字典转换为DataFrame。 - 找到最大值的索引:使用
idxmax()方法找到第二列数据的最大值所在行索引。 - 将最大值和对应的x值添加到DataFrame中:使用
append()方法将最大值和对应的x值添加到DataFrame中。 - 将数据保存到Excel表格:使用
to_excel()方法将DataFrame保存到Excel表格中,并使用index=False参数禁用行索引。
请将代码中的 '文件夹路径' 替换为您要读取txt文件的实际文件夹路径,并将 '输出文件路径' 替换为您希望保存Excel文件的路径。运行程序后,将会在指定路径下生成一个包含每个文件中最大值和对应x值的Excel表格,同时包含文件名用于区分来源文件。
原文地址: https://www.cveoy.top/t/topic/bcfY 著作权归作者所有。请勿转载和采集!