我有一个想要分析的数据集,但它的格式相当奇怪。见下文:
> Account_Details Account_Name
> account # 1 client name
> product 1 name product 1 value
> product 2 name product 2 value
> product 3 name product 3 value
> account # 2 client name
> product 3 product 3 value
> product 2 name product 2 value
> account # 3 client name
> product 6 name product 6 value
有没有办法对它们进行排序以获得如下所示的视图:
Account Number Product 1 Product 2 Product 3...
account # 1 1234.1 346.2 10154.36
account # 2 0 556.6 6154.63
account # 3 123.04 905.24 101.16
.
.
.
原始标题“帐户详细信息”和“帐户名称”实际上只是占位符,不需要。如能得到任何帮助,我们将不胜感激。
谢谢。
答案1
在您的数据中添加两列,一列用于检查该行是否描述帐户或产品级数据(通过检查第一列是否为数字),另一列将每个产品(和帐户)与正确的帐户关联。
然后在数据上创建数据透视表,并按如下方式配置字段:
如果您想要的是帐户名称而不是帐户#,请调整公式D4
以读出B4
而不是A4
。
答案2
您可以使用以下方法解决此问题常用表达并转换为 TSV。
如果您的数据格式与示例不完全相同,则此方法将不起作用。
s/> account # (\d+) +(.+)\n> product 1 name +(.+)\n> product 2 name +(.+)\n> product 3 name +(.+)\n/account # \1\t\2\t\3\t\4\t\5\r/
评论:
s/ # We are replacing text
> account # (\d+) # We are capturing the account number as \1
+ # Ignoring all spaces afterwords
(.+)\n # Capture the client name as \2 and look for a new line
> product 1 name +(.+)\n # Capture the product 1 value as \3
> product 2 name +(.+)\n # Capture the product 1 value as \4
> product 3 name +(.+)\n # Capture the product 1 value as \5
/ # Done searching, start replacing
account # \1\t # Write out the account number then a tab
\2\t\3\t\4\t\5 # Write out the client name and product values seperated by tabs
\r/ # Write a new line for the next bit of data and terminate
它将把你的数据转换成:
account # 1 client name product 1 value product 2 value product 3 value
account # 2 client name product 1 value product 2 value product 3 value
通过可轻松导入 Excel 的标签进行分隔。
编辑:看起来你可以使用类似的应用程序宙斯 编辑查找并替换该正则表达式。