Auto stash before merge of "table" and "origin/new"
parent
1e6af3bb88
commit
f1d0c8a2ff
|
@ -21,6 +21,7 @@ import os.path
|
||||||
import platform
|
import platform
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
import xlrd
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
from PyQt5.QtCore import QSize, Qt, QPoint, QByteArray, QTimer, QFileInfo, QPointF, QProcess
|
from PyQt5.QtCore import QSize, Qt, QPoint, QByteArray, QTimer, QFileInfo, QPointF, QProcess
|
||||||
|
@ -2349,9 +2350,19 @@ class MainWindow(QMainWindow):
|
||||||
return
|
return
|
||||||
|
|
||||||
# read xlsx file, convert to HTML
|
# read xlsx file, convert to HTML
|
||||||
xd = pd.ExcelFile(csv_path)
|
# xd = pd.ExcelFile(csv_path)
|
||||||
df = xd.parse()
|
# df = xd.parse()
|
||||||
structure = df.to_html(index = False)
|
# structure = df.to_html(index = False)
|
||||||
|
excel = xlrd.open_workbook(csv_path)
|
||||||
|
sheet0 = excel.sheet_by_index(0) # only sheet 0
|
||||||
|
merged_cells = sheet0.merged_cells # (0,1,1,3) start row, end row, start col, end col
|
||||||
|
|
||||||
|
html_list = [['td'] * sheet0.ncols for i in range(sheet0.nrows)]
|
||||||
|
|
||||||
|
for merged in merged_cells:
|
||||||
|
html_list = expand_list(merged, html_list)
|
||||||
|
|
||||||
|
token_list = convert_token(html_list)
|
||||||
|
|
||||||
# load box annotations
|
# load box annotations
|
||||||
cells = []
|
cells = []
|
||||||
|
@ -2370,7 +2381,7 @@ class MainWindow(QMainWindow):
|
||||||
split = 'test'
|
split = 'test'
|
||||||
|
|
||||||
# save dict
|
# save dict
|
||||||
html = {'structure': {'tokens': structure}, 'cell': cells}
|
html = {'structure': {'tokens': token_list}, 'cell': cells}
|
||||||
json_results.append({'filename': filename, 'split': split, 'imgid': imgid, 'html': html})
|
json_results.append({'filename': filename, 'split': split, 'imgid': imgid, 'html': html})
|
||||||
imgid += 1
|
imgid += 1
|
||||||
|
|
||||||
|
|
|
@ -188,6 +188,50 @@ def OBB2HBB(obb) -> np.array:
|
||||||
return hbb
|
return hbb
|
||||||
|
|
||||||
|
|
||||||
|
def expand_list(merged, html_list):
|
||||||
|
'''
|
||||||
|
Fill blanks according to merged cells
|
||||||
|
'''
|
||||||
|
sr, er, sc, ec = merged
|
||||||
|
for i in range(sr, er):
|
||||||
|
for j in range(sc, ec):
|
||||||
|
html_list[i][j] = None
|
||||||
|
html_list[sr][sc] = ''
|
||||||
|
if ec - sc > 1:
|
||||||
|
html_list[sr][sc] += " colspan={}".format(ec - sc)
|
||||||
|
if er - sr > 1:
|
||||||
|
html_list[sr][sc] += " rowspan={}".format(er - sr)
|
||||||
|
return html_list
|
||||||
|
|
||||||
|
|
||||||
|
def convert_token(html_list):
|
||||||
|
'''
|
||||||
|
Convert raw html to label format
|
||||||
|
'''
|
||||||
|
token_list = ["<tbody>"]
|
||||||
|
# final html list:
|
||||||
|
for row in html_list:
|
||||||
|
token_list.append("<tr>")
|
||||||
|
for col in row:
|
||||||
|
if col == None:
|
||||||
|
continue
|
||||||
|
elif col == 'td':
|
||||||
|
token_list.extend(["<td>", "</td>"])
|
||||||
|
else:
|
||||||
|
token_list.append("<td")
|
||||||
|
if 'colspan' in col:
|
||||||
|
_, n = col.split('colspan=')
|
||||||
|
token_list.append(" colspan=\"{}\"".format(n))
|
||||||
|
if 'rowspan' in col:
|
||||||
|
_, n = col.split('rowspan=')
|
||||||
|
token_list.append(" rowspan=\"{}\"".format(n))
|
||||||
|
token_list.append(">")
|
||||||
|
token_list.append("</tr>")
|
||||||
|
token_list.append("</tbody>")
|
||||||
|
|
||||||
|
return token_list
|
||||||
|
|
||||||
|
|
||||||
def stepsInfo(lang='en'):
|
def stepsInfo(lang='en'):
|
||||||
if lang == 'ch':
|
if lang == 'ch':
|
||||||
msg = "1. 安装与运行:使用上述命令安装与运行程序。\n" \
|
msg = "1. 安装与运行:使用上述命令安装与运行程序。\n" \
|
||||||
|
|
Loading…
Reference in New Issue