Способ обработки как ",", так и "." как десятичные разделителиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Способ обработки как ",", так и "." как десятичные разделители

Сообщение Anonymous »

У меня есть программа, в которой пользователь может скопировать таблицу Excel и вставить ее в саму программу для анализа данных. Единственное значение, разрешенное для таблицы, — это число с плавающей запятой. Проблема в том, что существует 4 разных способа записи чисел с плавающей запятой:
x = 123456.789
y = 123456,789
a = 123.456,789
b = 123,456.789

и мне нужен код, который интерпретирует все 4 как:
123456.789
Как лучше всего это сделать, чтобы оно работало на Windows, Linux и Mac?
Вот полная функция:
# Copies csv from clipboard to a pandas dataframe
clipboard_dataframe = pd.read_clipboard()
# Get row and column count
paste_rows = len(clipboard_dataframe.index)
paste_columns = len(clipboard_dataframe.columns)
# Create the table to show the values
paste_janela = QTableWidget(paste_rows, paste_columns)
# Define the labels for headers and indexes
paste_janela.setHorizontalHeaderLabels(clipboard_dataframe.columns)
paste_janela.setVerticalHeaderLabels(clipboard_dataframe.index)
# Populate the table with the proper values
for x in range(paste_janela.rowCount()):
for y in range(paste_janela.columnCount()):
# Error handling in case the cell value isn't a float
if not isinstance(clipboard_dataframe.iat[x,y], numbers.Number):
error_message = QMessageBox.critical(self.janela_principal,
"Erro de importação de dados",
"Houe um erro na importação de dados de tabela. \nOs únicos valores aceitos são números reais")
raise ValueError("Valor inválido foi encontrado na tabela. Só é aceito números reais nas tabelas")
table_value = str(clipboard_dataframe.iat[x,y])
table_item = QTableWidgetItem(table_value)
paste_janela.setItem(x, y, table_item)
# Pass the table to the MDI Area, turning it into a subwindow in the process
self.sandbox_mdiarea.addSubWindow(paste_janela)
# Needed to load the window, otherwise it will be hidden as default
paste_janela.show()


Подробнее здесь: https://stackoverflow.com/questions/791 ... separators
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»