首页 > 解决方案 > 导入包含列标签的每个值的数据

问题描述

我在没有标题的文本文件中有数据。每行中的值都有一个标签,指示它们属于哪一列。我想将这些标签作为列名并在列下提供数据。

我想从文本文档中导入以下内容(注意列下的值排列不是恒定的):

Column1=variable11&Column2=variable12&Column3=variable13&Column4=variable14
Column2=variable22&Column1=variable12&Column3=variable23
Column1=variable13&Column3=variable33&Column2=variable32&Column4=variable34&Column5=variable35

我希望结果是这样的表:

Column1         Column2         Column3         Column4         Column5
variable11      variable12      variable13      variable14  
variable21      variable22      variable23      
variable31      variable32      variable33      variable34      variable35

标签: pythonimport

解决方案


您可以为此使用 Pandas 数据框:

import pandas as pd

a='''Column1=variable11&Column2=variable12&Column3=variable13&column4=variable14
Column2=variable22&Column1=variable12&Column3=variable23
Column1=variable13&Column3=variable33&Column2=variable32&Column4=variable34&Column5=variable35'''

result = []

for line in a.split('\n'):
    dict_line = {}
    for chunk in line.split('&'):
        col, var = chunk.split('=')
        dict_line[col] = var
    result.append(dict_line)
pd.DataFrame(result)

将返回您的数据框:

    Column1     Column2     Column3     Column4     Column5     column4
0   variable11  variable12  variable13  NaN         NaN         variable14
1   variable12  variable22  variable23  NaN         NaN         NaN
2   variable13  variable32  variable33  variable34  variable35  NaN

此数据框中的空单元格填充有NaN


推荐阅读