Python 我有一个excel,从中提取值,我需要将这些值与逗号分开

Python 我有一个excel,从中提取值,我需要将这些值与逗号分开,python,arrays,excel,split,assign,Python,Arrays,Excel,Split,Assign,我从excel中提取以下数组: g = ['', '', '', '', '', '234,1111,550', '', '', '', '', ''] 我如何告诉python从该数组中取出“23411111550”,并将这三个数字中的每一个分配给一个字母。因此,a=234,b=1111,c=550。基本上,我想把这三个分开。此外,数组可能有两个这样的数字,而不是3。您可以使用列表理解来获得拆分项目的列表: >>> [item.split(',') for item in g

我从excel中提取以下数组:

g = ['', '', '', '', '', '234,1111,550', '', '', '', '', '']

我如何告诉python从该数组中取出“23411111550”,并将这三个数字中的每一个分配给一个字母。因此,a=234,b=1111,c=550。基本上,我想把这三个分开。此外,数组可能有两个这样的数字,而不是3。

您可以使用列表理解来获得拆分项目的列表:

>>> [item.split(',') for item in g if item]
[['234', '1111', '550']]
>>> 
如果只需要第一次出现,可以在
next()
函数中使用生成器表达式:

>>> 
>>> next((item.split(',') for item in g if item), None)
['234', '1111', '550']
如果要将项目分配给变量,需要知道项目的数量,则只需执行以下操作:

a, b, c = ['234', '1111', '550']

如果我理解正确的话,python中已经有一个列表,其中的值为“”,其他值为用逗号分隔的字符串。 因此,您可能希望在列表中进行迭代,并且无论何时到达字符串,都会将其拆分:

g = ['', '', '', '', '', '234,1111,550', '', '', '', '', '']
results = []
for element in g:
     if element != '':
          results.extend(element.split(","))
print(results)
编辑:至于你的评论,这是代码,以便它将调整你的需要。 假设结果有3个元素,则可以通过使用列表转换将它们保存为浮点:

a,b,c = [float(x) for x in results]

可以但是,我需要把这些值赋给a,b,c。怎么做?我问过Kasramvd的同一个问题,如何将这些值分配给a,b,csay结果列表有3个元素,然后执行:a,b,c=结果它们以字符串的形式出现。我想让它们浮起来。因此,我无法进行任何计算。假设a具有字符串值,则通过num=float(a)@Bob H将其转换为float。我根据您的需要编辑了答案,使用您觉得更方便的方法