使用 Power Query 导入格式奇特的 CSV

Posted

技术标签:

【中文标题】使用 Power Query 导入格式奇特的 CSV【英文标题】:Importing oddly-formatted CSVs with Power Query 【发布时间】:2018-06-08 21:36:52 【问题描述】:

我正在尝试使用 Power Query 从许多 CSV 导入这种格式的数据。

标题应该是

"Time", "Container 1", "Container 1 pressure", "Container 2", "Container 2 pressure", and so on.

举个例子:

Time: 00:00
Container 1: A123
Container 1 pressure: 1
Container 2: B321
Container 2 pressure: 100
...

Time: 01:00
Container 1: A123
Container 1 pressure: 2
Container 2: B321
Container 2 pressure: 90
...

有没有一种简单的方法来解析这些数据? “时间”数据未格式化为时间,但其他字段排列在相同的相对位置。

提前致谢!

【问题讨论】:

鉴于缺乏响应,我建议您开发一个 VBA 解决方案。 假设数据始终遵循这种格式,这在 Power Query 中非常可行。但是他们说“容易”,我不确定为源数据制作两个参考表,执行备用行删除、索引和合并它们是“容易的”。 【参考方案1】:

这可能可以通过两个步骤在 UI 中轻松完成: 1.通过分隔符':'拆分初始列 这应该为您提供两列,一列包含所有标签,另一列包含所有值。 2. 然后旋转标签列,但不要聚合值(使用旋转,而不是取消旋转!)

这应该可以解决问题。

【讨论】:

我也是这么想的。但是当我尝试它时,它返回一个错误Expression.Error: There were too many elements in the enumeration to complete the operation. 您能否提供一个带有示例数据的原始 CSV 文件的示例?每个 CSV 文件中有多少行?时间戳之间有多少个容器?是否有固定数量的容器,或者它们在不同的 CVS 文件中,甚至在同一个文件中有所不同? 您上面的 PQ 屏幕截图表明 CSV 文件中也有逗号。虽然我在您的示例中看不到它们,但这似乎是 的一行 建议你问原发帖人这个问题。我认为这就像包含的示例和他的问题。 哎呀。没注意你不是OP。那我们就等他的回答吧。

以上是关于使用 Power Query 导入格式奇特的 CSV的主要内容,如果未能解决你的问题,请参考以下文章

利用Power Query的参数设置来快速生成自定义函数

刷新 CSV 导入时 Power Query 无法添加列

mycat导入大量数据报错query

SharePoint 列表数据的 Excel Power Query 导入更改日期/时间值

Power BI Python 在Power BI Desktop中Python代码如何使用Power Query数据

将 Power Query .odc 文件导入其他工作簿