0
私はPythonには新しく、テキスト文書から縦棒グラフを作成する課題がありました。x軸情報をリストに入れ、データもリストに入れました。 。私が抱えている問題は、次のようなエラーが出てチャートを出力しようとしたときです:TypeError: - 'str'と 'int'のサポートされていないオペランドタイプ。そして、私はそのエラーを解決する方法を理解するために苦労しています。 リストの1つをタイプキャストする必要がありますか?あるいは、それを行う方法が間違っていますか?私はあなたのために十分に明確だったオペランドエラーreportlabを使用してグラフを作成する
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart
ExifOutput = open('ExifOutput.txt', 'r')
ImageMakeContainer = []
Container = []
makeList = []
numberList = []
lineReader = ExifOutput.readlines()
for line in lineReader:
if 'Image Make: ' in line:
ImageMakeContainer.append(line[13:-2])
for item in set(ImageMakeContainer):
Container.append(item + " " + str(ImageMakeContainer.count(item)))
print Container
for data in Container:
[int(num) for num in data.split() if num.isdigit()]
make = data[0:-(len(num) + 1)]
makeList.append(make)
numberList.append(num)
print numberList
print makeList
ExifOutput.close()
data = numberList
axis = makeList
graph = Drawing(400, 300)
chart = VerticalBarChart()
chart.width = 300
chart.height = 200
chart.x = 30
chart.y = 40
chart.data = data
chart.categoryAxis.categoryNames = axis
chart.valueAxis.valueMin = 0
graph.add(chart)
graph.save(fnRoot='TestGraph', formats=['png', 'pdf'])
希望:
は、ここに私のコードです。 (print文は、リストの内容を確認するだけである)
次のように[EDIT]印刷物の出力は次のとおりです。
['Apple 1', 'FUJIFILM 5', 'Samsung Techwin 1']
['1', '5', '1']
['Apple', 'FUJIFILM', 'Samsung Techwin']