You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel导出CSV时避免自动添加额外引号的一步式自动解决方案

解决Excel导出CSV时引号重复的一步式方法

嘿,我懂你的困扰——Excel默认的CSV导出规则总会把带引号的单元格内容转成"""def""",而你想要的是干净的abc, "def",还不想事后手动替换或者写宏。没问题,这里有个无需额外操作的一步式自动解决办法,全程在Excel里就能搞定:

方法:用Power Query生成并导出符合要求的CSV

这个方法适用于Excel 2016及以后版本(旧版本需先安装Power Query插件,现在主流Excel版本都自带了):

  1. 选中你包含abc"def"的单元格区域(比如A1:B1)。
  2. 点击顶部菜单栏的数据选项卡,选择从表格/区域(如果弹出标题确认提示,根据你的数据情况选择,这里无标题选“否”即可)。
  3. 进入Power Query编辑器后,点击添加列选项卡,选择自定义列
  4. 在弹出的自定义列对话框里,输入以下公式(假设你的两列自动命名为Column1Column2,对应abc"def"):
    = Text.Combine({[Column1], "\"" & Text.Replace([Column2], """", "") & "\""}, ", ")
    
    这个公式的作用是:把第一列内容和处理后的第二列内容(去掉原有引号,再手动添加一对引号)用逗号加空格拼接,直接得到abc, "def"
  5. 点击确定后,你会看到新生成的自定义列里已经是你想要的完整行内容。右键删除原来的Column1Column2列。
  6. 点击主页选项卡的关闭并上载,把处理好的数据导回Excel工作表。
  7. 选中这个新的单列数据,点击文件另存为,选择保存类型为文本文件(*.txt),保存后把文件后缀改成.csv——打开这个CSV文件,内容就是你预期的abc, "def"

这个方法全程不需要手动替换内容,也不需要写宏,是可视化的一步式操作,以后再遇到类似情况,重复流程就行。

补充说明:其实Excel默认的CSV导出行为是符合标准CSV规范的(标准要求字段内的引号用双引号转义),但如果你确实需要非标准格式,上面的方法完美适配你的需求。

内容的提问来源于stack exchange,提问作者andrey

火山引擎 最新活动