如何从列表中删除每个项目的方括号

时间:2018-07-24 13:44:04

标签: python list pandas dataframe

Excel有一个数字列表,我希望看到这样的东西:

[110652450, 5309154]

但是我看到这样的东西:

[[110652450], [5309154]] 

我尝试了newtest = [x[:-1] for x in df]在类似问题上提出的建议,但这只是删除了我的电话号码并保留了赌注

df = pd.read_excel(filename.xlsx",sheetname='Sheet1')


df = df.values.tolist()

print(df)

5 个答案:

答案 0 :(得分:1)

我没有完全回答您的问题,但是您似乎正在寻找类似的东西?

df = [[110652450], [5309154]]
newest = [i[0] for i in df]
print(newest)
>> [110652450,5309154]

答案 1 :(得分:0)

尝试

newtest = [x[0] for x in df]

您需要访问列表的第一个元素并使用它而不是整个列表

答案 2 :(得分:0)

您有一个元素的列表。 x[:-1]返回不带最后一个元素的列表,因此只返回一个空列表。相反,请执行[x[0] for x in df][x for x, in df]

答案 3 :(得分:0)

您可以使用列表推导删除方括号:

df = pd.read_excel("filename.xlsx", sheetname="Sheet1")
df = df.values.tolist()
df = [x[0] for x in df]
print(df)

之所以可行,是因为df中的每个元素都是一个包含一项的列表。

答案 4 :(得分:0)

numpy.squeeze可能是首选的方法。调用np.squeeze(a)以获取要展平的数组。 np.squeeze应该比列表理解如[e[0] for e in a]

快得多