【问题标题】:I have an excel from which I am pulling values, and I need to separate those values from commas我有一个从中提取值的 excel,我需要将这些值与逗号分开
【发布时间】:2016-04-10 04:44:56
【问题描述】:

我正在从 excel 中提取以下数组:

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

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

【问题讨论】:

    标签: python arrays excel split assign


    【解决方案1】:

    您可以使用列表推导来获取拆分项目的列表:

    >>> [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']
    

    【讨论】:

    • 好的。但是,然后我需要将这些值分配给 a、b、c。该怎么做?
    【解决方案2】:

    如果我理解正确,您已经在 python 中有一个列表,其值为 '' 和其他用逗号分隔的字符串值。 因此,您可能希望遍历列表,并且每当您到达一个字符串时,您都会将其拆分:

    g = ['', '', '', '', '', '234,1111,550', '', '', '', '', '']
    results = []
    for element in g:
         if element != '':
              results.extend(element.split(","))
    print(results)
    

    编辑:至于您的 cmets,这是代码,以便调整您的需求。 假设 results 有 3 个元素,那么您可以通过使用列表理解进行强制转换将它们保存为浮点数:

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

    【讨论】:

    • 我问过 Kasramvd 的同样问题,如何将这些值分配给 a、b、c
    • 说结果列表有 3 个元素,然后做:a,b,c = results
    • 它们以字符串形式出现。我希望它们是浮动的。因此我无法进行任何计算。
    • 说a有字符串值,通过num=float(a)将其转换为浮点数
    • @Bob H. 我根据您的需要编辑了答案,使用对您来说更舒适的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2021-12-31
    • 2020-12-23
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多