systemy_dialogowe/utils/script.py

76 lines
2.0 KiB
Python

def remove_empty_lines(text):
lines = text.split('\n')
non_empty_lines = []
for line in lines:
if line.strip():
non_empty_lines.append(line)
return '\n'.join(non_empty_lines)
def join_lines(text):
lines = text.split("\n")
joined_lines = [lines[0]]
for line in lines[1:]:
if line.startswith("["):
joined_lines.append(line)
else:
joined_lines[-1] += " " + line
return "\n".join(joined_lines)
def process_text(text, nazwisko_user, nazwisko_system):
lines = text.split('\n')
result = []
for line in lines:
if nazwisko_system in line:
result.append("system " + line.split(nazwisko_system, 1)[1].strip())
elif nazwisko_user in line:
result.append("user " + line.split(nazwisko_user, 1)[1].strip())
else:
result.append(line)
return '\n'.join(result)
def read_tsv(file_path):
with open(file_path, 'r', encoding='utf-8') as tsv_file:
content = tsv_file.read()
return content
def write_tsv(file_path, content):
with open(file_path, 'w', encoding='utf-8') as tsv_file:
tsv_file.write(content)
def replace_first_space_with_tab(text):
lines = text.split("\n")
new_lines = []
for line in lines:
first_space_index = line.find(" ")
if first_space_index != -1:
new_line = line[:first_space_index] + "\t" + line[first_space_index + 1:]
new_lines.append(new_line)
else:
new_lines.append(line)
return "\n".join(new_lines)
if __name__ == '__main__':
# wypelnic przed uruchomieniem
nazwisko_user = ""
nazwisko_system = ""
numer_user = ""
numer_system = ""
file_path = f"J:\PycharmProjects\systemy_dialogowe\data\dialog-{numer_system}-{numer_user}-01.tsv"
text = read_tsv(file_path)
text = remove_empty_lines(text)
text = join_lines(text)
text = process_text(text, nazwisko_user, nazwisko_system)
text = replace_first_space_with_tab(text)
write_tsv(file_path, text)