【发布时间】:2017-03-29 13:26:41
【问题描述】:
我在做什么
我需要修改一个文件(从 salesforce 导出),其中行具有唯一 ID、名称和具有此表中另一行的唯一 ID 的列,将其标识为该项目的“子项”。
- ID(columnA)
- 名称(列 B)
- 父 ID(columnC)
未受影响数据的图像:
我需要完成什么
我的目标是遍历整个电子表格(55,000 行)并将 ParentID 更改为父名称列中的值。
我的伪代码解决方案
foreach row starting from the top {
varA = [current row number for this loop];
varX = [value in varA:columnC];
if (varX == [regex value]) {
foreach row starting from the top {
varB = [current row number for this loop];
if ([value in varB:columnA] == varX) {
foreach row starting from the top {
varC = [current row number for this loop];
if (varC:columnC = varB:columnA) {
[varC:columnC] = [varB:columnB];
}
}
break second foreach loop;
}
}
}
}
手动修复后的数据图:
到目前为止我所做的研究
我正在使用 excel,我找到了讨论如何创建新宏的资源,其中一些甚至有示例,但我不确定这是否是合适的地方。我还有一个朋友建议使用 Pandas 修改文件会更好,但我也不熟悉。
我的问题:
我从哪里开始? ...编写脚本来修改所有这些的正确工具是什么?
另外,如果可能的话,您能否推荐一个资源供我在使用合适的工具完成这项工作时作为参考?
【问题讨论】:
-
所以你在第一个有
001, Ted, 002,在第二个有002, Bob, 099,你想把第一个改成001, Ted, Bob...?如果找不到匹配项怎么办? -
你能贴一张你预期结果的小图吗?和一些样本数据,你可以伪造它我们不需要看实际值。如果我理解正确的话,这似乎很容易用公式来实现。
-
是否考虑将父母的姓名复制过来以替换 ID?还是我误解了你的需求?如果复制/粘贴可以解决并且没有很多空白单元格,只需单击名称行中的第一个,按住 CTRL+Shift 并单击向下箭头。将其复制并粘贴到之前的 ID 上
-
感谢您与我讨论这个问题 - 我已根据 Miguel 的要求添加了图片。 Chris,据我估计,手动为每个 ParentID 执行查找+替换需要几天时间才能完成。