簡體   English   中英

如何在pandas數據框中將一列分為兩部分

[英]How to break a column into two in pandas dataframe

這就是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')    

它沒有顯示任何錯誤,但該列未拆分。

使用\\進行轉義| 因為特殊的正則表達式字符:

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"""

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM