Как разбить столбец на две части в панде - PullRequest
0 голосов
/ 15 мая 2018

Вот так выглядят ячейки в столбце CSV

[u"ABC||||'ABCDadfasf||||'random something', 'another random']
[u"ABCD||||'ABCDadfasf||||'random somethingadf', 'another random adsd']
[u"ABDC||||'ABCDasdadfasf||||'random something random', 'another something random']

`

Я хочу разбить его, как показано ниже.Разделение на основе ('||||')

Col 1      Col 2          Col 3 
[u"ABC    ABCDadfasf    'random something', 'another random']
[u"ABCD   ABCDadfasf    'random somethingadf', 'another random adsd']
[u"ABDC   ABCDasdadfasf 'random something random', 'another something random']

Это то, что я пытался

Cov = pd.read_csv("path to CSV.csv", sep='||||', names = ["col 1", "col 2", "col 3"], engine = 'python')    

, оно не показывает никаких ошибок, но столбец не разбивается.

1 Ответ

0 голосов
/ 15 мая 2018

Используйте \ для выхода |, потому что специальный символ регулярного выражения:

import pandas as pd

temp=u"""[u"ABC||||'ABCDadfasf||||'random something', 'another random']
[u"ABCD||||'ABCDadfasf||||'random somethingadf', 'another random adsd']
[u"ABDC||||'ABCDasdadfasf||||'random something random', 'another something random']"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), sep=r"\|\|\|\|", names = ["col 1", "col 2", "col 3"], engine = 'python') 

print (df)
     col 1           col 2                                              col 3
0   [u"ABC     'ABCDadfasf              'random something', 'another random']
1  [u"ABCD     'ABCDadfasf      'random somethingadf', 'another random adsd']
2  [u"ABDC  'ABCDasdadfasf  'random something random', 'another something ...

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