def select_file():
# 选择Excel文件
filename = filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx")])
# 打开Excel文件并读取内容
workbook = openpyxl.load_workbook(filename)
worksheet = workbook.active
# 输出表格中的内容并计算能耗
for row in worksheet.iter_rows(min_row=2):
row_text=''
for cell in row:
#print(cell.value,end=',')
row_text+=f'{cell.value},'
t0 = float(row[0].value)
te = float(row[1].value)
ε = float(row[2].value)
P_R = float(row[3].value)
P_Z = float(row[4].value)
L = float(row[5].value)
Q_s = float(row[6].value)
Q = float(row[7].value)
Q_WS = (t0 - te) * ε / L
P_Jun = (P_R - P_Z) / L
λ = Q_s / Q
conclude = (Q_WS, P_Jun, λ)
print(str(conclude))
text_create('海底管道能耗计算结果', str(conclude))
wb = Workbook()
sheet = wb.active
data = open('C:\\Users\\10154\\Desktop\\海底管道能耗计算结果.txt', 'r', encoding='utf_8')
datas = data.readlines() # readlines()依次读取所有行(直到结束符 EOF)并返回列表
for index, row in enumerate(datas):
d = row.split() # split()通过指定分隔符对字符串进行切片,并返回分割后的字符串列表
for col in range(len(d)):
sheet.cell(index + 1, col + 1, d[col]) # 表示我们要对第i行第j列单元格进行修改
# sheet.cell(worksheet.row[0])
wb.save('海底管道能耗计算结果.xlsx')
如何将储存在excel中的文本提取,并将里面的数据运用matplotlib.pyplot进行图形分析
pyplot使用plt.hist()来绘制直方图
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
mu,sigma=100,20 #标准差,方差
a = np.random.normal(mu,sigma,size=100)
plt.hist(a,20,normed=1,histtype='stepfilled',facecolor='b',alpha=0.75)
# 参数20表示bin,即直方图的个数;normed=1表示概率,normed=0表示出现的个数
plt.title('Histogram')
plt.show()
运行结果:
参考资料:北京理工大学嵩天老师教学视频
通过pandas库从Excel中读取数据并将其转换为数据框,然后进行数据清洗和预处理以准确绘制图形,最后应用Matplotlib绘制相应的图形,具体步骤如下:
1.导入所需的库文件:
import pandas as pd
import matplotlib.pyplot as plt
2.使用pandas库从Excel中读取数据:
data = pd.read_excel('文件路径/文件名.xlsx')
其中'文件路径/文件名.xlsx'应替换为相应文件的实际路径和文件名。
3.进行必要的数据清洗和预处理以准确绘制图形:
例如,如果要绘制饼图,则需要计算每个类别在数据中出现的次数或占比。可以通过以下代码实现:
count = data['类别'].value_counts()
percent = count/len(data['类别'])
如果要绘制散点图,则需要指定数据中的横纵坐标。可以通过以下代码实现:
x = data['横坐标']
y = data['纵坐标']
4.绘制图形: 根据具体需求选择适当的Matplotlib图表类型,例如散点图、饼图、柱状图或折线图,然后根据数据进行绘制。
例如,如果要绘制饼图,可以使用以下代码:
plt.pie(percent, labels=count.index, autopct='%1.1f%%')
plt.title('类别占比')
plt.show()
其中percent为上文计算出的每个类别所占比例,count.index为类别名称,autopct='%1.1f%%'为每个部分占比显示格式,plt.title可以设置图表标题。
如果要绘制散点图,可以使用以下代码:
plt.scatter(x, y)
plt.title('散点图')
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.show()
5.保存图像: 如果需要将图像保存为文件,则可以使用savefig()函数,例如:
plt.savefig('文件路径/文件名.png')
其中'文件路径/文件名.png'应替换为相应文件的实际路径和文件名。
如果需要在同一个图示中绘制多个Matplotlib图表,则可以使用subplot()函数和多个plt对象。
总之,在从Excel中提取信息并运用Matplotlib绘制图形时,应该先使用pandas库从Excel中读取数据,然后进行必要的数据清洗和预处理,最后使用适当的Matplotlib图表类型进行绘制。
安装所需的库:确保你已经安装了以下库:
pandas:用于处理Excel数据
matplotlib:用于绘制图形
你可以使用pip命令进行安装:
pip install pandas matplotlib
导入所需的库:
import pandas as pd
import matplotlib.pyplot as plt
读取Excel数据:
df = pd.read_excel('your_file.xlsx') # 根据实际文件名和路径进行修改
提取所需的数据:
根据你的Excel数据的结构,选择需要提取和分析的列或行。例如,如果你的数据存储在"Column1"和"Column2"两列中,你可以这样提取数据:
data = df[['Column1', 'Column2']]
进行图形分析:
使用matplotlib.pyplot库中的函数绘制所需的图形。以下是一个简单的示例,绘制一个折线图:
plt.plot(data['Column1'], data['Column2'])
plt.xlabel('X轴标签') # 根据实际需求修改标签
plt.ylabel('Y轴标签') # 根据实际需求修改标签
plt.title('图形标题') # 根据实际需求修改标题
plt.show()
这将显示绘制的图形。
你把excek文件发给我