Переформатирование txt-файла с символами в определенных позициях с помощью python

#python #txt #reformatting

Вопрос:

Очень начинающий программист задает здесь вопрос. Я искал по всем форумам, но не могу найти что-то, чтобы решить эту проблему, я думал, что для этого будет простая функция. Есть ли способ сделать это?

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

В настоящее время мои данные находятся в следующем формате файла txt:

 01/09/21,00:28,7.1,75,3.0,3.7,3.7,292,0.0,0.0,1025.8,81.9,17.1,44,3.7,4.6,7.1,0,0,0.00,0.00,3.0,0,0.0,292,0.0,0.0
01/09/21,00:58,7.0,75,2.9,5.1,5.1,248,0.0,0.0,1025.9,81.9,17.0,44,5.1,3.8,7.0,0,0,0.00,0.00,1.9,0,0.0,248,0.0,0.0
 

он должен быть отформатирован таким образом для обработки с использованием pandas:

 ["06/09/21","19:58",11.4,69,5.9,0.0,0.0,0,0.0,0.3,1006.6,82.2,21.8,52,0.0,11.4,11.4,0,0,0.00,0.00,10.5,0,1.5,0,0.0,0.3],
["06/09/21","20:28",10.6,73,6.0,0.0,0.0,0,0.0,0.3,1006.3,82.2,22.4,49,0.0,10.6,10.6,0,0,0.00,0.00,9.7,0,1.5,0,0.0,0.3],
 

Для этого необходимо добавить a [" в начале и добавить a " в конце даты перед запятой, затем добавить еще " одну после запятой и еще " одну в конце временного раздела. В конце строки мне также нужно добавить ],

Я думал, что что-то подобное сработает, но при попытке запустить его я получаю ошибку.

 info = 
    06/09/21,19:58,11.4,69,5.9,0.0,0.0,0,0.0,0.3,1006.6,82.2,21.8,52,0.0,11.4,11.4,0,0,0.00,0.00,10.5,0,1.5,0,0.0,0.3
    
    
info=info[:1]  "['"  info[1:]


print (info)
 

У меня более 1000 строк данных, поэтому о том, чтобы делать это вручную, не может быть и речи. Я видел и другие подобные вопросы, но на них не было полезных ответов. Можно ли это сделать, предпочтительно с помощью метода или цикла?

Комментарии:

1. В этой строке info= отсутствуют окружающие кавычки. Вот почему Python выдает ошибку. То есть, `info=’06/09/21…’

Ответ №1:

Вы путаете СОДЕРЖАНИЕ ваших данных с ПРЕДСТАВЛЕНИЕМ ваших данных. На самом деле вам вообще не нужны скобки и кавычки. Что вам нужно, так это список, содержащий строки и целые числа. То, что вы там показали, — это то, как Python будет ПЕЧАТАТЬ список, содержащий строки и целые числа. На самом деле список не содержит скобок или кавычек.

Вы можете использовать pandas.read_csv непосредственно этот файл данных без дополнительной обработки. Вам просто нужно указать имена столбцов.