Я новичок в Python, и мне нужно прочитать текстовый файл, в котором имя столбца находится в каждой строке, столбцы неупорядочены и не все столбцы информируются. Есть ли способ прочитать такой файл с помощью Pandas? Это пример (3 строки):
pepe01@mail.com:{ssha}fiy9XI6d:created="1575487257" fwd="" spf_block="" quota="1024mb" full_name="Full Name" mailaccess="envia" mailstatus="cancelled"
pepe02@mail.com:{ssha}Q0H90Rf9:created="1305323967" mailaccess="1" mailstatus="active" admin_access="" quota="" expire="0" full_name="Full Name" pais="CO"
pepe03@mail.com:{ssha}sCPC3HOE:created="1550680636" fwd="" pass_question="" pass_answer="" disabled="Y" mailstatus="cancelled" full_name="Name"
4
dan
18 Июл 2020 в 00:23
1 ответ
Лучший ответ
Вы можете использовать модуль re
для анализа файла.
Например:
import re
import pandas as pd
all_data = []
with open('<YOUR FILE>', 'r') as f_in:
for line in f_in:
m = re.search(r'^(.*?):(.*?):', line)
if not m:
continue
data = dict(re.findall(r'([^\s]+)="([^"]+)"', line.split(':', maxsplit=2)[-1]))
data['mail'] = m.group(1)
data['password'] = m.group(2)
all_data.append(data)
df = pd.DataFrame(all_data).fillna('')
print(df)
Печатает фрейм данных:
created quota full_name mailaccess mailstatus mail password expire pais disabled
0 1575487257 1024mb Full Name envia cancelled pepe01@mail.com {ssha}fiy9XI6d
1 1305323967 Full Name 1 active pepe02@mail.com {ssha}Q0H90Rf9 0 CO
2 1550680636 Name cancelled pepe03@mail.com {ssha}sCPC3HOE Y
1
Andrej Kesely
17 Июл 2020 в 21:57
Похожие вопросы
Связанные вопросы
Новые вопросы
python-3.x
НЕ ИСПОЛЬЗУЙТЕ, ЕСЛИ ВАШ ВОПРОС ТОЛЬКО ДЛЯ PYTHON 3. Всегда используйте вместе со стандартным тегом [python].