Создание сценария python, который будет искать в текстовом файле определенный ключ и копировать номер в новый файл - PullRequest
0 голосов
/ 05 августа 2020

Я ищу совет, как создать сценарий, который будет искать файл по ключевому слову.

Мой текстовый файл выглядит так

1,1467800,968.00,957.00,8850,1005,963,546,950,8.00,
0.00,202149.00,12,
1,146928,1005,97995.00,979.00,967.000,824,955,826,
1,147,957.00,883.00,

это из Bluetooth устройство, с которым у меня возникли проблемы с их разговором друг с другом, мое решение заключалось в том, чтобы одно устройство отправляло float, а другое - int. Теперь я пытаюсь разделить числа и поместить их в 2 отдельных текстовых документа. Есть ли какие-то функции, которые я могу сделать, чтобы упростить этот проект?

Это мой текущий код, который просто принимает мой текстовый файл

f = open("file.txt","r")
f1 = open("output.txt","w")
text = ""
for line in f:
  text = line
  text = text.rstrip("\n")
  print(text)
f1.close()
f.close()

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Если не все ваши числа с плавающей запятой на самом деле являются целыми числами , вы можете использовать функцию is_integer для вычислений с плавающей запятой и списков:

with open('your_file') as fd:
    numbers = fd.read().split(',')
    floats = [float(num) for num in numbers if not float(num).is_integer()]
    integers = [float(num) for num in numbers if float(num).is_integer()]

Вы также можете преобразовать числа в набор после получения числа с плавающей точкой и вычтите его из исходного списка чисел.

В противном случае:

with open('your_file') as fd:
    numbers = fd.read().split(',')
    floats = [float(num) for num in numbers if '.' in num]
    integers = [float(num) for num in numbers if float(num).is_integer()]
0 голосов
/ 05 августа 2020
my_list = text.split(",")
ints, floats = []
for item in my list: 
    if '.' in item: #(if float)
        floats.append(float(item))
    else:
        ints.append(int(item))

Объяснение: Функция разделения преобразует текст в список, разделяя его на элементы с помощью заданного ключа. (в данном случае запятая)

Затем вы можете записать их в два разных документа. Для простоты я разделил их на два других списка, которые вы можете использовать для записи нового файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...