清除数据框列中的列表数据类型



我有一个看起来像这样的数据:

Data 
[pineapple]
[pear]
[]
[chilli]

data列下的值为列表。我想知道我怎样才能把它擦干净,使它没有托架[]?

我假设你的列表是字符串列表

df['Data'] = df.Data.map(lambda x: x[0])

取每个列表的第一个元素。

df['Data'] = df.Data.map(lambda x: x[0] if x else '')

如果存在长度为0的列表,将不会引发错误。

df['Data'] = df.Data.map(lambda x: ','.join(x))

将字符串列表转换为逗号分隔的列表。

如果您以字符串形式输入数据,

代码:

data ='''data
[pineapple]
[pear]
[]
[chilli]'''
print(data.replace("[", "").replace("]", ""))

输出:

data
pineapple
pear
chilli

如果您从文本文件输入数据,

data.txt:

data
[pineapple]
[pear]
[]
[chilli]

代码:

x= open("data.txt","r")
y= open("output.txt", "a")
# rewrite cleaned(replaced) strings to a new file
[y.write(str(i.replace("[","").replace("]",""))) for i in x.readlines()]

output.txt:

data
pineapple
pear
chilli

最新更新