Есть ли решение для ошибки xlsxwriter в python - PullRequest
0 голосов
/ 06 февраля 2020

Я работаю над анализом данных в python и экспортирую их в Excel, поэтому я использовал библиотеку xlwt в одном файле, а другой файл использовал xlsxwriter. Однако при использовании функции workbook.write() с xlsxwriter для присвоения значений Excel я получил эту странную ошибку. Несмотря на то, что я отсканировал Inte rnet и прогуглил эту ошибку и правильно написал код, я все равно не смог найти решение этой ошибки. Кроме того, я хотел бы построить кривые в Excel (точечная диаграмма) и не смог построить кривые.

Кто-нибудь может мне помочь исправить эту ошибку и как построить график в Excel из * 1020? *? Я также установил библиотеку openpyxl.

Я использую Pycharm в качестве редактора для Python 3.7, это мой код:

import cv2
import numpy as np
from skimage.feature import peak_local_max
from skimage.morphology import watershed
from scipy import ndimage
import math
import random as rand
import matplotlib.pyplot as plt
import pandas as pd
import xlsxwriter
# import openpyxl module
import openpyxl
from openpyxl.chart import ScatterChart, Reference, Series
workbook = xlsxwriter.Workbook('image_analysis.xlsx')
worksheet = workbook.add_worksheet()
image = cv2.imread('D:\My work\MASTERS WORK\Sample H 4  1 2020\Sample H1\SampleH1_#2_72pxfor1cm_out.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV+ cv2.THRESH_OTSU)[1]
thresh=thresh/255
cv2.imshow('thresh',thresh)
cv2.waitKey(0)
h,w =image.shape[:2]
print('The dimensions of the image =',h,w)
# Compute Euclidean distance from every binary pixel
# to the nearest zero pixel then find peaks
distance_map = ndimage.distance_transform_edt(thresh)
local_max = peak_local_max(distance_map, indices=False, min_distance=20, labels=thresh)
# Perform connected component analysis then apply Watershed
markers = ndimage.label(local_max, structure=np.ones((3, 3)))[0]
labels = watershed(-distance_map, markers, mask=thresh)
# Iterate through unique labels
n = 0
Areas = []
row = 2
col = 0
gamma = 2.6
W =[]
style = workbook.add_format({'bold': True, 'font_color': 'red'})
workbook.write(0,col, "AREA",style)
workbook.write(0,col+1, "Raduis",style)
workbook.write(0,col+2, "Volume",style)
workbook.write(0,col+3,  "Weight",style)
workbook.write(0,col+4 ,  "Raduis(cm)",style)
workbook.write(0,col+5 ,  "Weight(gm)",style)
workbook.write(0,col+6 ,  "Sorted raduis",style)
workbook.write(0,col+7 ,  "Sorted weight",style)
workbook.write(0,col+8,  "Cumulative weight",style)
workbook.write(0,col+9,  "% passing",style)
workbook.write(0,col+10,  "Diameter (mm)",style)
raduis=[]
for item in Areas:
    r = ((item/math.pi)**0.5) # raduis is in cm units
    raduis.append(r)
    v = (4/3)*math.pi*r**3  # volume in cubic cm units and considered as sphere
    w = gamma*v # weight is in gram units
    workbook.write(row, col, item)
    workbook.write(row, col + 1, r)
    workbook.write(row, col + 2, v)
    workbook.write(row, col + 3, w)
    row += 1

    r=2
    s=[]
    for k in raduis:
        r2 = k/scale
        s.append(r2)
        workbook.write(r, col + 4, r2)
        weight = (4/3)*3.141592*2.6*r2**3
        workbook.write(r, col + 5, weight)
        W.append(weight)
        r+=1

Но я получил эту ошибку:

Файл "D: / Моя работа / Мои изображения / Watershed_seg.py", строка 94, в файле workbook.write (0, столбец, "ОБЛАСТЬ", стиль) AttributeError: «Объект рабочей книги не имеет атрибута» напишите '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...