![将带有单位的 CSV 数据导入 Excel](https://linux22.com/image/1515446/%E5%B0%86%E5%B8%A6%E6%9C%89%E5%8D%95%E4%BD%8D%E7%9A%84%20CSV%20%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%85%A5%20Excel.png)
我有一堆 CSV 文件,其中包含带尾随单位的值。这让 Excel 认为它们是文本,所以我无法在数据透视表中对它们求和。
数据看起来是这样的:
Date; Text; Amount;
2016-12-11; Gas Station; -152,00 kr
2016-12-10; Food Stare; -130,00 kr
2016-12-09; Payment; 500,00 kr
我设法“解决”了这个问题,方法是插入一个新列,去掉单位,使用 把文本转换为数字=NUMBERVALUE(SUBSTITUTE(C2; " kr"; ""))
,然后告诉 Excel 如何格式化该列和数据透视表中的值。但这感觉真的很黑客。
有什么方法可以导入数据并告诉 Excel 它已经有正确的单位,以便我可以直接使用 CSV 中的数据?
从 CSV 文件中删除单位不是一个选择,除非绝对必要,否则我宁愿远离 VB。
答案1
如果您拥有足够新的 Excel 版本,那么最好的方法之一就是使用 PowerQuery。
您可以使用 PowerQuery 从 1 个或多个 CSV 文件导入数据,也可以根据需要转换数据列。
创建新的数据查询:Data/New Query/From file/From Folder
。指定文件夹路径。您将获得预览,单击edit
。根据扩展名.csv
和您想要的任何文件名模式进行过滤。您目前有一个文件列表。
要获取数据,请删除文件列表中不需要的列。现在使用以下公式插入自定义列:
Table.PromoteHeaders(Csv.Document([Content]))
这是获取内容的最佳方式,尽管有时只需展开列即可获得所需的结果Content
。但如果需要,使用自定义列可以更轻松地保留文件元数据列(例如访问日期)。
如果文件内容重叠,则可能需要对数据进行重复数据删除。
因此,大部分工作只需通过点击即可完成,无需编程,并不比使用电子表格困难。