Python 如何根据缩进从xl工作表或csv读取数据

Python 如何根据缩进从xl工作表或csv读取数据,python,csv,xlrd,Python,Csv,Xlrd,我有一张XL表,其中的数据是基于以下空间组织的: tag weights aaa 1 bbb 1 ccc 1 dddd -1 hhhh 1 ddd 1 bbbb fff 1 hhh 1 gggg 1 数据是这样的,列1包含缩进的标记,我如何根据标识读取数据。只有根据身份我才应该读它 col2还包含权重“1”表示“加法”;“-

我有一张XL表,其中的数据是基于以下空间组织的:

tag     weights    

aaa        1      
 bbb       1      
 ccc       1       
  dddd    -1
  hhhh    1
ddd       1
 bbbb
  fff      1
  hhh      1
 gggg      1
数据是这样的,列1包含缩进的标记,我如何根据标识读取数据。只有根据身份我才应该读它

col2还包含权重“1”表示“加法”;“-1”表示“减法”

我希望以类似dict的形式输出

d={'aaa':'bbb+ccc','ccc':'-dddd+hhhh','ddd':'bbbb+gggg','bbbb':'fff+hhh'}
根据公式得出的权重,例如“ccc”:“-dddd+hhhh”bcoz dddd的权重为“-1”,gggg的权重为“1”


谁能帮我一下吗?我猜你是在描述数据在excel中的显示方式。如果这是正确的,这里有两个想法:

  • 将文件另存为csv并使用python csv模块
  • 使用xlrd
  • 根据下面的评论,我应该写:

    >>> a = '  111'
    >>> len(a) - len(a.lstrip())
    2
    

    假设缩进仅由空格组成(即没有制表符),您可以通过
    len(value)-len(value.lstrip())

    来测量缩进级别,这对某人来说不是一个明智的决定,是吗?如果col1被引用,那么“bbb”就不是“bbb”,您可以区分两者。据我所知,您必须编写代码才能将缩进转换为有意义的内容。@TonyHopkinson不是这样,实际上类似“aaa”的值将是主组,“bbb”和“ccc”将是“aaa”中的子组,“dddd”是ccc下的子组。因此,在存储时,我应该能够识别主组和子组。我猜缩进与格式有关。将文件另存为csv并发布看起来像的内容我将其保存为csv格式,看起来像我发布的问题。“aaa”没有空格,“bbb”和“ccc”与“aaa”之间有一个空格,“dddd”与“aaa”之间有两个空格。我重新阅读了你的问题。你是说缩进意味着父子关系?你想用这个数据集最终完成什么?它们是属于csv中某个层次结构的标记,其中主组、子组和子组缩进,所以在阅读时,我应该知道我是在阅读主组、子组还是子组,所以我需要根据缩进来阅读每一行(first_item)-len(strip(first_item))您可以看到它缩进了多少空格。如果缩进比前一行多,则它是前一行的子行