У меня есть текстовый файл с информацией о 1000 студентах, поэтому мне нужно сохранить данные каждого студента в таблице Excel.
Вот образец данных:
0000:
name=Jack
Age=16
Grade=90
0001:
name=Max
Age=18
Grade=85
0002:
name=Kayle
Age=17
Grade=92
Я хочу получить такой результат:
2 ответа
Использовать панды и диктант довольно просто:
with open('file.txt', 'r') as f:
lines = f.readlines()
students = []
student = {}
for line in lines:
if ':' in line:
student['id'] = line.split(':')[0]
elif 'name' in line:
student['Name'] = line.split('=')[1].replace('\n','')
elif 'Age' in line:
student['Age'] = line.split('=')[1].replace('\n','')
elif 'Grade' in line:
student['Grade'] = line.split('=')[1].replace('\n','')
students.append(student)
print(student)
student = {}
import pandas as pd
df = pd.DataFrame(students)
df.to_excel("output.xlsx")
print(df)
Я всегда использую Word для такой работы. С помощью функции «Заменить» найдите знаки абзаца и замените их символом табуляции.
Например. замените :[paragraph mark][space][space][space][space]name=
на [tab character]
. Таким образом вы избавитесь от мусора и получите 0000[tab character]Jack
.
Когда вы закончите со всеми строками данных, разделенных табуляцией, выберите все строки с данными (убедитесь, что не выбрали пустые строки без трех символов табуляции, иначе это не сработает) и нажмите Вставить -> Таблица -> Вставить таблицу ... Теперь данные преобразованы в таблицу Word. Просто скопируйте таблицу в Excel, и все готово.
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.