使用python写一段代码,获取指定路径excel的内容通过Plotly生成组合折线图,其中A列为:"BUG单号",B列为:"BUG创建日期",D列为:"BUG分类",按照"BUG分类"生成:x轴为"BUG创建日期"(汇总相同项),y轴为:BUG量的图表,其中BUG创建日期只精确到日,并将生成的图表重命名为“当前日期”保存到指定路径
时间: 2023-06-07 14:08:44 浏览: 61
好的,以下是对您的要求的代码实现:
```
import pandas as pd
import plotly.express as px
from datetime import datetime
#指定路径和文件名
path = "指定路径"
filename = "指定文件名.xlsx"
#读取excel内容
df = pd.read_excel(path + filename)
#选择需要的列
df = df[['BUG单号', 'BUG分类', 'BUG创建日期']]
#按照分类和日期分组,并统计数量
df = df.groupby(['BUG分类', pd.Grouper(key='BUG创建日期', freq='D')])['BUG单号'].count().reset_index()
#绘制组合折线图
fig = px.line(df, x='BUG创建日期', y='BUG单号', color='BUG分类')
#获取当前日期
currentDate = datetime.today().strftime('%Y-%m-%d')
#重命名图表并保存到指定路径
fig.update_layout(title=currentDate)
fig.write_image(path + currentDate + '.png')
```
请您在使用时将路径和文件名替换为实际的路径和文件名。如果有任何疑问,请随时询问我。
相关问题
使用python写一段代码,获取指定路径excel的内容通过Plotly生成组合折线图,其中A列为:"BUG单号",B列为:"BUG创建日期",C列为:"BUG分类",按照"BUG分类"生成每个BUG创建日期新增的BUG量图表,其中BUG创建日期只精确到日,并将生成的图表重命名为“当前日期”保存到指定路径
以下是使用 Python 获取指定路径 Excel 内容并通过 Plotly 生成组合折线图的代码。在代码中,需要替换以下内容:
- path_to_excel: 指定路径 Excel 文件的路径。
- sheet_name: Excel 文件中要读取的工作表名称。
- plotly_username: Plotly 帐户的用户名。
- plotly_api_key: Plotly 帐户的 API 密钥。
- plotly_chart_title: 生成的图表标题。
- plotly_chart_filename: 生成的图表文件名,不包括扩展名和日期部分。
- plotly_chart_folder: 生成的图表文件夹路径。
```python
import plotly.graph_objs as go
import plotly.offline as pyo
import pandas as pd
import datetime
# 指定路径 Excel 文件的路径
path_to_excel = 'path/to/excel/file.xlsx'
# Excel 文件中要读取的工作表名称
sheet_name = 'Sheet1'
# Plotly 帐户的用户名和 API 密钥
plotly_username = 'your_plotly_username'
plotly_api_key = 'your_plotly_api_key'
# 生成的图表标题、文件名和文件夹路径
plotly_chart_title = 'Bug Report'
plotly_chart_filename = 'bug_report'
plotly_chart_folder = 'path/to/chart/folder/'
# 读取 Excel 文件中指定工作表的内容
df = pd.read_excel(path_to_excel, sheet_name=sheet_name)
# 按照 BUG 分类和创建日期进行分组统计
grouped = df.groupby(['BUG分类', pd.Grouper(key='BUG创建日期', freq='D')]).count()['BUG单号']
grouped = grouped.reset_index()
# 按照 BUG 分类生成每个 BUG 创建日期新增的 BUG 数量图表
data = []
for category in grouped['BUG分类'].unique():
filtered = grouped[grouped['BUG分类'] == category]
trace = go.Scatter(
x=filtered['BUG创建日期'],
y=filtered['BUG单号'],
mode='lines+markers',
name=category
)
data.append(trace)
# 生成组合折线图
layout = go.Layout(
title=plotly_chart_title,
xaxis=dict(
title='Date',
tickformat='%Y-%m-%d'
),
yaxis=dict(
title='Number of Bugs'
),
legend=dict(
x=0,
y=1
)
)
fig = go.Figure(data=data, layout=layout)
# 在 Plotly 中生成图表并保存到指定文件夹
pyo.init_notebook_mode(connected=True)
pyo.plot(fig, filename=plotly_chart_folder + plotly_chart_filename + '-' + datetime.date.today().strftime('%Y%m%d') + '.html', auto_open=False,
username=plotly_username, api_key=plotly_api_key)
```
运行代码后,将在指定的文件夹中生成一个 HTML 文件,其中包含按照 BUG 分类生成的组合折线图。每个图表的文件名格式为“当前日期-bug_report.html”。注意,在运行代码之前请确保已安装 Plotly 和 Pandas 库。
使用python写一段代码,获取指定路径excel的内容通过Plotly生成基础柱状图,其中A列为BUG单号,B列为BUG创建日期,F列为BUG分类,按照BUG分类生成每日新增的BUG量图表,其中BUG创建日期只精确到日,并将生成的图表重命名为当前日期+StabilityTest保存到 "D:\Test\AutoTest"路径下
好的,这是一道编程题。以下是使用 Python 代码获取 Excel 的内容并生成基础柱状图的示例代码:
```python
import plotly.express as px
import pandas as pd
import datetime
# 指定 Excel 文件的路径和工作表的名称
path = 'path/to/Excel/file.xlsx'
sheet_name = 'Sheet1'
# 使用 Pandas 读取 Excel 文件,并指定需要读取的列
df = pd.read_excel(path, sheet_name=sheet_name, usecols=['A', 'B', 'F'])
# 将日期格式转换为只精确到日的格式,并新增一列用于按日期分组
df['B'] = pd.to_datetime(df['B']).dt.date
df['group'] = df['B']
# 使用 Plotly 按分类和日期分组,并计算新增的 BUG 数量
fig = px.histogram(df, x='B', color='F', barmode='group', nbins=len(df['B'].unique()))
fig.update_layout(title='StabilityTest-' + str(datetime.date.today()), xaxis_title='Date', yaxis_title='Number of Bugs', legend_title_text='Classification')
# 将生成的图表保存到指定路径
fig.write_html('D:\Test\AutoTest\StabilityTest.html')
```
此代码会根据 Excel 文件中的内容生成一个按分类和日期分组的柱状图,并将图表保存到指定路径。请注意,如果 Excel 文件中的日期格式不是日期型,请先使用 Pandas 将其转换为日期型。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)