ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6397|回复: 15

[求助] PQ合并文件夹中的CSV文件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-3-23 22:49 | 显示全部楼层 |阅读模式
各位,我想通过PQ合并文件夹中的csv文件,当导入指定文件夹后进入编辑界面,只保留“Content”与“Name"两列,自定义列编辑=Excel.Workbook([Content]),但添加出来的列却是显示”Error”,提示错误信息“DataFormat.Error: 外部表不是预期的格式。”
难道是csv不能合并吗?于是我又先将csv格式转成xlsx格式,再重复上述步骤,完成。

为何文件夹中是CSV格式的文件,就不能通过上述步骤呢?应该不可能的呀。工作中有很多系统导出来的都是CSV,如果都要先转换成xlsx格式岂不是很费劲?

CSV文件合并 - 疑问.rar (14.54 KB, 下载次数: 49)







TA的精华主题

TA的得分主题

发表于 2019-3-24 06:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Csv.Document

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-24 16:53 | 显示全部楼层

您好,请问是否能说具体一些?在哪个步骤输入“Csv.Document”?

TA的精华主题

TA的得分主题

发表于 2019-3-25 09:52 | 显示全部楼层
  1. let
  2.     源 = Table.SelectRows(Folder.Files("你的文件位置\CSV文件合并 - 疑问"),each [Extension]=".csv"),
  3.     删除的其他列 = Table.SelectColumns(源,{"Content", "Name"}),
  4.     已添加自定义 = Table.AddColumn(删除的其他列, "自定义", each Csv.Document([Content],null,null,null,936))
  5. in
  6.     已添加自定义
复制代码

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-3-25 10:15 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-25 21:56 来自手机 | 显示全部楼层
wdx223 发表于 2019-3-25 09:52

不懂编写这些代码呢,在自定义列这一步用Csv.Document([Content])应该就可以了吧?

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-25 21:58 来自手机 | 显示全部楼层
c-coming 发表于 2019-3-25 10:15
补充下:Excel.Workbook 是用于xls等excel文档的,csv需要用ls说的函数。

怪不得了。
那么在自定义列这一步输入Csv.Document([Content])应该就能合并了吧?
我明天上班试一试。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-29 17:18 | 显示全部楼层
更新一下疑问,Csv.Document的确能合并csv文件,但文本内容不能被识别,出现乱码。
如果----
1 按Binary,可设置格式,换成中文简体,但却不能显示出文件名称列,不能看出哪些明细来自哪个文件;
2 添加自定义列,输入Csv.Document,可以显示出文件名称列,但文本内容是乱码,调不成中文简体。

请问有何办法?

TA的精华主题

TA的得分主题

发表于 2019-3-30 00:52 | 显示全部楼层
xelibri 发表于 2019-3-29 17:18
更新一下疑问,Csv.Document的确能合并csv文件,但文本内容不能被识别,出现乱码。
如果----
1 按Binary ...

WDS223给的Csv.Document的具体参数里面,你抄完整,其中936的含义就是中文的编码号,你补齐了应该就可以了

TA的精华主题

TA的得分主题

发表于 2019-3-30 12:20 来自手机 | 显示全部楼层
我一般是仅保留content列直接扩展后,在右侧"应用步骤"中找到encoding=1252字样,手动改成encoding=936
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-29 08:55 , Processed in 0.057597 second(s), 15 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表