[Python]Как распарсить такой файл?
От: sun2013  
Дата: 03.07.17 15:13
Оценка:
Здравствуйте!
Есть файл с таким примерно содержимым:

ID,Text
0||text0
1||text1
2||text2

Соответственно, вопрос — как распарсить? Хотелось бы, наверное, получить DataFrame pandas с двумя колонками в итоге (если возможно). Буду благодарен за помощь.
Re: [Python]Как распарсить такой файл?
От: Dziman США http://github.com/Dziman
Дата: 03.07.17 22:09
Оценка:
Здравствуйте, sun2013, Вы писали:

S>Здравствуйте!

S>Есть файл с таким примерно содержимым:

S>ID,Text

S>0||text0
S>1||text1
S>2||text2

S>Соответственно, вопрос — как распарсить? Хотелось бы, наверное, получить DataFrame pandas с двумя колонками в итоге (если возможно). Буду благодарен за помощь.


https://docs.python.org/2/library/csv.html
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re: [Python]Как распарсить такой файл?
От: Буравчик Россия  
Дата: 04.07.17 14:53
Оценка: 2 (1) +2
Здравствуйте, sun2013, Вы писали:

S>Здравствуйте!

S>Есть файл с таким примерно содержимым:

S>ID,Text

S>0||text0
S>1||text1
S>2||text2

S>Соответственно, вопрос — как распарсить? Хотелось бы, наверное, получить DataFrame pandas с двумя колонками в итоге (если возможно). Буду благодарен за помощь.


df = pandas.read_csv('myfile.txt', delimiter='\|\|', engine='python', skiprows=1, header=None)
df.columns = ['ID', 'Text']


1. Т.к. разделитель "||" имеет длину два символа (а не один, как обычно), пришлось указать engine=python

2. Т.к. разделитель названий столбцов отличается от разделителя строк, то пришлось вообще отключить парсинг названий (skiprows=1, header=None). А затем прописать названия явно.
Best regards, Буравчик
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.