from
datetime
import
datetime
import
xlsxwriter
workbook
=
xlsxwriter.Workbook(
'chart_stock.xlsx'
)
worksheet
=
workbook.add_worksheet()
bold
=
workbook.add_format({
'bold'
:
1
})
date_format
=
workbook.add_format({
'num_format'
:
'dd/mm/yyyy'
})
chart
=
workbook.add_chart({
'type'
:
'stock'
})
headings
=
[
'Date'
,
'High'
,
'Low'
,
'Close'
]
data
=
[
[
'2018-01-01'
,
'2018-01-02'
,
'2018-01-03'
,
'2018-01-04'
,
'2018-01-05'
],
[
27.2
,
25.03
,
19.05
,
20.34
,
18.5
],
[
23.49
,
19.55
,
15.12
,
17.84
,
16.34
],
[
25.45
,
23.05
,
17.32
,
20.45
,
17.34
],
]
worksheet.write_row(
'A1'
, headings, bold)
for
row
in
range
(
5
):
date
=
datetime.strptime(data[
0
][row],
"% Y-% m-% d"
)
worksheet.write(row
+
1
,
0
, date, date_format)
worksheet.write(row
+
1
,
1
, data[
1
][row])
worksheet.write(row
+
1
,
2
, data[
2
][row])
worksheet.write(row
+
1
,
3
, data[
3
][row])
worksheet.set_column(
'A:D'
,
11
)
chart.add_series({
'categories'
:
'= Sheet1 !$A$2:$A$6'
,
'values'
:
'= Sheet1 !$B$2:$B$6'
,
})
chart.add_series({
'categories'
:
'= Sheet1 !$A$2:$A$6'
,
'values'
:
'= Sheet1 !$C$2:$C$6'
,
})
chart.add_series({
'categories'
:
'= Sheet1 !$A$2:$A$6'
,
'values'
:
'= Sheet1 !$D$2:$D$6'
,
})
chart.set_title ({
'name'
:
'High-Low-Close'
})
chart.set_x_axis({
'name'
:
'Date'
})
chart.set_y_axis({
'name'
:
'Share price'
})
worksheet.insert_chart(
'E9'
, chart)
workbook.close()