用py将表格里面第一二三列在表格里做成曲线放入新的sheet,其中第一个参数为横坐标数据显示出来,第二个参数为纵坐标数据
时间: 2024-03-27 20:40:55 浏览: 59
好的,可以使用Python的pandas和matplotlib库来实现这个功能。以下是示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取表格数据
df = pd.read_excel('your_file.xlsx')
# 取出第一、二、三列数据
x = df.iloc[:, 0]
y1 = df.iloc[:, 1]
y2 = df.iloc[:, 2]
# 绘制曲线图
fig, ax = plt.subplots()
ax.plot(x, y1, label='y1')
ax.plot(x, y2, label='y2')
ax.legend()
# 将图表放入新的sheet中
writer = pd.ExcelWriter('your_file.xlsx', engine='openpyxl')
writer.book = pd.load_workbook('your_file.xlsx')
fig.savefig('temp.png') # 先将图表保存为图片
image = openpyxl.drawing.image.Image('temp.png')
writer.sheets['new_sheet_name'] = writer.book.create_sheet('new_sheet_name')
writer.sheets['new_sheet_name'].add_image(image, 'A1')
writer.save()
# 删除临时图片
os.remove('temp.png')
```
在这个示例代码中,我们首先使用pandas库读取表格数据,并取出第一、二、三列数据。然后使用matplotlib库绘制曲线图,并将图表保存为图片。接着,我们使用openpyxl库将图片放入新的sheet中,并保存表格。最后,删除临时图片。
需要注意的是,这个示例代码中使用了openpyxl的Image类来插入图片,所以需要在开头导入`import openpyxl`。另外,需要安装以下库:pandas、matplotlib和openpyxl。
阅读全文