python - 导入包含列标签的每个值的数据
问题描述
我在没有标题的文本文件中有数据。每行中的值都有一个标签,指示它们属于哪一列。我想将这些标签作为列名并在列下提供数据。
我想从文本文档中导入以下内容(注意列下的值排列不是恒定的):
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
解决方案
您可以为此使用 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
推荐阅读
- javascript - 在 JavaScript 中引用“window.[height/width/etc]”的成本
- java - JavaFX 11 替换 column.impl_setWidth()?
- javascript - 如何解决 Blocked a frame with origin from access a cross origin frame in wordpress 错误?
- python - ModuleNotFoundError:没有名为“scipy.special._ufuncs”的模块
- .htaccess - Drupal 网站不断重定向
- c++ - 如何在 C++ 中以最快的方式读取文件?将数据发送到“顶点缓冲区对象”
- azure-media-services - Azure 媒体服务 V3 - 如何获取 ParentAssets(在 V2 的 IAsset 中可用)
- javascript - Node JS 将一个可能未定义的 JavaScript 对象传递给 pug 模板
- python - Python中的连接单元测试
- java - 从字符串中获取以空格分隔的 2 个整数