python读取文件夹下多个xlsx文件并提取里边数据并获得txt文档里的数据进行最小二乘拟合余弦函数振幅和相位并保存代码示例
时间: 2024-05-05 11:18:23 浏览: 103
非常感谢您的提问,我可以为您提供一份 Python 代码示例,用于读取文件夹下的多个 xlsx 文件,并提取数据进行最小二乘拟合余弦函数的振幅和相位计算,最后将计算结果保存为文件。这里有一份示例代码供您参考:
```python
import os
import glob
import numpy as np
from scipy.optimize import curve_fit
# 定义余弦函数模型
def cos_fit(x, amp, phase):
return amp * np.cos(x + phase)
# 定义文件夹路径和文件名模式
folder_path = "your_folder_path"
file_pattern = "*.xlsx"
# 初始化数据存储变量
x_data = []
y_data = []
# 遍历文件夹下的所有 xlsx 文件
for file_path in glob.glob(os.path.join(folder_path, file_pattern)):
# 使用 pandas 库读取 xlsx 文件中的数据
# 假设要提取的数据保存在名为 "data" 的表格中,第一列为 x 坐标,第二列为 y 坐标
data_frame = pd.read_excel(file_path, sheet_name="data")
x_data.extend(data_frame.iloc[:, 0].values)
y_data.extend(data_frame.iloc[:, 1].values)
# 执行最小二乘拟合,获取余弦函数振幅和相位
popt, pcov = curve_fit(cos_fit, x_data, y_data, p0=[1, 0])
# 将计算结果写入到文件中
with open("output.txt", "w") as f:
f.write("余弦函数振幅: {}\n".format(popt[0]))
f.write("余弦函数相位: {}".format(popt[1]))
print("计算结果已保存到 output.txt 文件中!")
# 笑话时间:为什么 Python 工程师喜欢上班迟到?
# 因为他们总是在给自己的代码加注释!
```
希望这份代码可以帮助您,如果您有其他问题或需求,请随时向我提问!
阅读全文