将路径变量加入导入 csv 文件中的每一行

Join a path variable to each row in the import csv file

我有很多导入文件,看起来像这样

因此每个团队成员都有销售价值,但内部没有时间段。

句号在路径中编码如下:

AllData1501\Revenues.txt
AllData1502\Revenues.txt
AllData1503\Revenues.txt

我想从每个数据行的路径中获取 Periode,所以我的最终输出 table 应该如下所示:

所以无论如何我都必须从文件中的路径中带上句点。

如何访问路径的问题在此处的完美示例中得到解决:

但是我在 "whole" 文本上还有句号,而不是在行上。

有 2 个选项,都涉及看起来很糟糕的方程式。
第一个选项,我们假设路径将在字符串中的相同位置具有句点。
例如,我们想要第一个和第二个斜杠之间的数字。

=TRIM(LEFT(SUBSTITUTE(MID(A1,FIND("|",SUBSTITUTE(A1,"\","|",1))+1,LEN(A1)),"\",REPT(" ",LEN(A1))),LEN(A1)))

如果它位于一组不同的斜杠之间,请更改 ,1 以告知公式从哪个斜杠开始。如果斜杠的数量可以不同,那么我们将不得不尝试第二个选项。

第二个选项,我们假设这些是路径中唯一的数字。
此公式将提取这些数字:

=SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW(:),1))* ROW(:),0),ROW(:))+1,1)*10^ROW(:)/10)

请注意,这将从字符串中提取所有数字。如果路径包含数字,那么这些将被添加到字符串中。例如C:14Data1401\Revenues.txt 会 return 2014201401
如果这不能解决问题,那么自己将一列放入 table 中可能会更容易

在链接的问题中,您可以更改自定义列公式:

Text.FromBinary([Content])

Text.Split(Text.FromBinary([Content]), "#(000a)") (根据换行符的表示方式,您可能需要改用“#(000a)#(000d)”)。

这将在每一个新行拆分文本,您将获得名称;值对的列表。单击列名称旁边带有两个箭头的框以展开该列。现在每一行都应该有与名称关联的句点;值对。最后,通过分号上的分隔符拆分列,以将名称与值分开。