Browse Source

added -k flag to xls2markdown for keeping empty cells

master
Holger Frey 3 years ago
parent
commit
1e9aa496d6
  1. 13
      work_helpers/excel2changelog.py

13
work_helpers/excel2changelog.py

@ -14,7 +14,7 @@ col_start = "A" @@ -14,7 +14,7 @@ col_start = "A"
row_start = 8
def text_to_changelog(raw_text, sheet, start_column, start_row, compact=False):
def text_to_changelog(raw_text, sheet, start_column, start_row, compact=False, keep=False):
cells = [line.split("\t") for line in raw_text.splitlines()]
xls_sep = "!" if compact else "\t"
@ -31,7 +31,7 @@ def text_to_changelog(raw_text, sheet, start_column, start_row, compact=False): @@ -31,7 +31,7 @@ def text_to_changelog(raw_text, sheet, start_column, start_row, compact=False):
current_row = row
for column, cell in zip(columns_used, line):
cell = cell.strip()
if not cell:
if not (cell or keep):
continue
output.append(f"{sheet}{xls_sep}{column}{row}\t{cell}")
@ -45,9 +45,9 @@ def text_to_changelog(raw_text, sheet, start_column, start_row, compact=False): @@ -45,9 +45,9 @@ def text_to_changelog(raw_text, sheet, start_column, start_row, compact=False):
prev = current
def clipboard_to_changelog(sheet, start_column, start_row, compact=False):
def clipboard_to_changelog(sheet, start_column, start_row, compact=False, keep=False):
xls = pyperclip.paste()
result = list(text_to_changelog(xls, sheet, start_column, start_row, compact))
result = list(text_to_changelog(xls, sheet, start_column, start_row, compact, keep))
line_count = len(result)
if line_count == 1:
print(f"Copied one line to the clipboard")
@ -67,7 +67,8 @@ def clipboard_to_changelog(sheet, start_column, start_row, compact=False): @@ -67,7 +67,8 @@ def clipboard_to_changelog(sheet, start_column, start_row, compact=False):
@click.option("-s", "--sheet", prompt=True, required=True, default="Input_Data_*")
@click.option("-w", "--well", prompt=True, required=True, default="A1")
@click.option("-c", "--compact", is_flag=True)
def cli(sheet, well, compact):
@click.option("-k", "--keep", is_flag=True)
def cli(sheet, well, compact, keep):
regex_well = r"(?P<column>[A-Z]{1,2})(?P<row>\d+)"
match = re.match(regex_well, well.upper())
if match is None:
@ -75,4 +76,4 @@ def cli(sheet, well, compact): @@ -75,4 +76,4 @@ def cli(sheet, well, compact):
regex_result = match.groupdict()
start_column = regex_result["column"]
start_row = int(regex_result["row"])
clipboard_to_changelog(sheet, start_column, start_row, compact)
clipboard_to_changelog(sheet, start_column, start_row, compact, keep)

Loading…
Cancel
Save