Чтобы сделать символ в pyQt5 неудаляемым, можно установить свойство "readOnly" для соответствующего виджета, например, для QLineEdit:
```python
lineEdit = QtWidgets.QLineEdit()
lineEdit.setReadOnly(True)
```
Чтобы предотвратить удаление разделителя между числами в ячейках таблицы, можно использовать делегат в PyQt5 для ячеек таблицы. В качестве примера можно создать свой класс делегата, который будет обрабатывать события редактирования ячеек и предотвращать удаление разделителя:
```python
class NoDeleteDelegate(QtWidgets.QStyledItemDelegate):
def createEditor(self, parent, option, index):
editor = super(NoDeleteDelegate, self).createEditor(parent, option, index)
if isinstance(editor, QtWidgets.QLineEdit):
editor.setTextMargins(editor.textMargins().left(), editor.textMargins().top(), editor.textMargins().right() + 10, editor.textMargins().bottom())
return editor
def setModelData(self, editor, model, index):
text = editor.text()
if model.data(index, QtCore.Qt.EditRole) and text and text[-1].isdigit() and model.data(index, QtCore.Qt.EditRole)[-1].isdigit():
text = model.data(index, QtCore.Qt.EditRole) + ',' + text[-1]
model.setData(index, text, QtCore.Qt.EditRole)
```
Затем установите этот делегат для таблицы:
```python
tableView.setItemDelegate(NoDeleteDelegate())
```
Этот делегат предотвратит удаление разделителя между числами в ячейках таблицы, добавляя запятую при вводе нового символа числа.