我建议您将incominated列作为字符串加载,然后使用this functionality将其转换为嵌套列表。定义一个接受字符串并返回列表的函数:import pandas as pd
import ast
# Load some test data
df = pd.DataFrame({'fake_list' : ['[[[9 9 9 9 9 13 ][11 11 11 11 11 11 ][11 11 11 11 11 11 ][9 9 9 9 9 9 ]]]',
'[[[9 9 9 9 9 9 ][9 9 9 9 9 9 ]]] ',
'[[[9 9 9 9 ][14 14 14 14 ][13 13 13 13 ]]]'],
'a': [1,2,3],
'b': [4,5,6]})
def fix_list(s):
s1 = s.strip() #strip white space at the edge of the string
s1 = s1[1:-1] # remove edge parenthesis
s1 = s1.replace(' ',',').replace('][', '],[') # make some replacements so that it looks like a nested list
return ast.literal_eval(s1) # transform string to a nested list
然后将函数应用于需要转换的列:
^{pr2}$
或者,您可以在从excel中读取时使用converters转换受牵连的列:df = pd.read_excel('file.xlsx', converters = {'fake_list':fix_list()}