在Python中,使用XlsxWriter,我创建了一个线性图,其中水平轴是日期(我验证了,在基础数据中,该列确实是数字/日期)。
生成的图表将日期设置为相隔 11-14 个周期(天),当我尝试各种方法(包括“date_axis”:True)将轴格式化为仅显示每个月的第一天时,它被忽略/覆盖。
日期列是每天,429行。看图片。
怎样才能覆盖覆盖?...
谢谢
你在哪里逐行阅读XLSX, 您只能选择那些行, 您想在图表中使用的内容。
例如:
import xlsxwriter
import openpyxl
workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet()
data = [
['Дата', 'Значение'],
['01.01.2022', 100],
['02.01.2022', 200],
['01.02.2022', 150],
['03.02.2022', 180],
['01.03.2022', 120],
['04.03.2022', 220]
]
date_format = workbook.add_format({'num_format': 'dd.mm.yyyy'})
# write to Excel
for row_num, row_data in enumerate(data):
for col_num, cell_data in enumerate(row_data):
if col_num == 0:
worksheet.write(row_num, col_num, cell_data, date_format)
else:
worksheet.write(row_num, col_num, cell_data)
workbook.close()
# read Excel
workbook_read = openpyxl.load_workbook('data.xlsx')
worksheet_read = workbook_read.active
data_for_chart = []
# selected data
for row in worksheet_read.iter_rows(min_row=2, values_only=True):
date_parts = row[0].split('.')
if int(date_parts[0]) == 1:
data_for_chart.append([row[0], row[1]])
print(data_for_chart)
我只是想确保如果你的脚本没有足够的智能,
你不要让他猜你想要得到什么。
如果您只对每个月的第一天感兴趣,
然后根据特别选择的数据构建图表。