из openpyxl.chart.title import Title - AttributeError: у объекта 'list' нет атрибута - PullRequest
0 голосов
/ 26 июня 2018

Вопрос Никаких изменений в этом модуле, о которых я знаю. На том же компьютере была установлена ​​другая отдельная пользовательская программа, после чего начались следующие ошибки.

Предложения будут оценены.

Ошибки 3

Traceback (последний вызов был последним):

Файл "log.py", строка 100, в ответе error_catcher = func ()

Файл "models.py", строка 852, в функции instance.main ()

Файл "models.py", строка 1061, в основном data_obj = report.Main (* self.args)

Файл "report.py", строка 95, в init self.data_manager ()

Файл «report.py», строка 113, в data_manager self.equivdod_report ('DoD Equiv')

Файл "report.py", строка 328, в элементах эквивалента_отчета)

Файл "scriptexcel.py", строка 230, в эквиваленте_report ytitle = r'Design Usage (%) '

Файл "excelcreator.py", строка 376, в его истории.

Файл "excelcreator.py", строка 767, в title_params baseline = 1000

AttributeError: у объекта 'list' нет атрибута 'rPr'

excelcreator.py (фрагменты из этого модуля)

from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.chart.title import Title
import openpyxl.drawing.text as oxldt
import os
import re
import openpyxl
import numpy as np
import datetime


class Excel():

	def hist__init__(self,
					 sheet_name,
					 mincol=None,
					 maxcol=None,
	 				 minrow=None,
	 				 maxrow=None,
	 				 bc=None,
	 				 title=None,
					 ytitle=None,
					 xtitle=None):

		if bc is None:
			bc = BarChart()
			bc.title = title
			bc.y_axis.title = ytitle
			bc.legend.position = 't'
			self.title_params(bc.title)
			self.title_params(bc.y_axis.title)
		xval = Reference(
			self.wb[sheet_name],
			min_col=mincol-1,
			min_row=2,
			max_row=maxrow)
		data = Reference(
			self.wb[sheet_name],
			min_col=mincol,
			max_col=maxcol,
			min_row=minrow,
			max_row=maxrow)

		return bc, xval, data


	def title_params(self, title):
		if title is not None:
			title.tx.rich.p[0].r.rPr = CharacterProperties(
				latin=oxldt.Font(typeface='Arial'),
				baseline=1000
				)

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Согласно ответу Чарли Кларка, это решило проблему:

p [0] .r изменено на p [0] .r [0] .rPr

0 голосов
/ 05 июля 2018

p[0].r - это список. Вы можете попробовать p[0].r[0].rPr

Посмотрите исходный код для заголовков диаграмм или схему спецификации OOXML для получения дополнительной информации.

...