繁体   English   中英

按字符拆分元素

[英]Split elements in a list by character

我有一个最初是数据帧的列表,现在看起来像这样:

[['asfsd|ksjdsf|jskks','asfsd|ksjdsf|jskks','asfsd|ksjdsf',
'asfsd|ksjdsf|jskks','asfsd|ksjdsf|jskks']]

我不知道如何拆分|之间的每个元素 创建一个包含所有这些列表的新列表。

我做了以下事情:

import pandas as pd
df= pd.read_csv('movie_metadata.csv')
palabras_c= df['plot_keywords']
data_palabras= pd.DataFrame(palabras_c).dropna() 
d=data_palabras.T
d2=d.values.tolist()

l =[]
for i in range(len(d2)):
  x= "".join(d2[i].split("|"))
  l.append(x)
  print l

但我得到一个AttributeError

Traceback (most recent call last)
<ipython-input-186-a57adb3fa668> in <module>()
   l =[]
   for i in range(len(d2)):
   --->  x= "".join(d2[i].split("|"))
         l.append(x)


    AttributeError: 'list' object has no attribute 'split'´

尝试这个

a = [['asfsd|ksjdsf|jskks','asfsd|ksjdsf|jskks','asfsd|ksjdsf', 'asfsd|ksjdsf|jskks''asfsd|ksjdsf|jskks']][0]
l =[]
for i in range(len(a)):
    x= "".join(a[i].split("|"))
    l.append(x)

print l

输出:

['asfsdksjdsfjskks', 'asfsdksjdsfjskks', 'asfsdksjdsf', 'asfsdksjdsfjskksasfsdksjdsfjskks']

list.split('|')不起作用吗? 你有什么尝试?
此外,单项分隔符中似乎存在小错误

l=['asfsd|ksjdsf|jskks','asfsd|ksjdsf|jskks','asfsd|ksjdsf','asfsd|ksjdsf|jskks','asfsd|ksjdsf|jskks']

word_list = []

for w in l:
    for k in w.split('|'):
        word_list.append(k)

print word_list

输出:

['asfsd', 'ksjdsf', 'jskks', 'asfsd', 'ksjdsf', 'jskks', 'asfsd', 'ksjdsf', 'asfsd', 'ksjdsf', 'jskks', 'asfsd', 'ksjdsf', 'jskks']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM