如果这个问题之前已经问过并回答过,请原谅 - 我找过了但没有找到。
我每两周会收到一次结构相同的 CSV 文件,我需要将它们导入到同一个 Excel 2016 工作表中。
我看过一些关于将文件夹中的每个 CSV 文件导入同一张工作表的文章,但这不是我需要做的。我需要导入今天的文件;两周后我需要导入当天的文件;两周后再做一次;等等。
导入前需要对文件进行轻微清理:删除前三行和几列。然后可以将整个文件附加到当前工作表的末尾。
我似乎无法弄清楚如何使 Power Query 足够通用来完成这项工作 - 也许它做不到。
VBA 是实现自动化的唯一方法吗?有什么建议吗?
谢谢。
答案1
我可以想到两种方法来实现这一点。
编辑在听到评论说前两种方法不起作用后,我有了一个新的想法
1. 如果您可以将新的 csv 重命名为旧 csv 的名称,那么这将是最简单的。 (这个想法是您将有一个要导入的文件名,并且您需要确保文件 nme 保持不变,然后 PowerQuery 就可以再次导入具有该名称的文件)。
2. 如果您获得的文件在文件名后附加了日期,那么您可以使用一种方法进行 power query,例如使用今天的日期并将其格式化为将文件名与日期格式匹配,然后将自构造的文件名传递给 PowerQuery 以查找该文件。
新编辑3. 使用 Power Query 读取文件夹并将其过滤到最新创建的文件(过滤器 GUI 中有一个选项可以自动创建过滤器,只需按列过滤Date Created
并选择Is Latest
),然后使用从该文件中提取数据csv.contents