我必须处理从 SQL Server 导出为 CSV 的数据。CSV 文件包含嵌入的换行符,例如:
Jane Doe, 123 Main Street{LF}Apt B, Anytown, NY, 10010{CR}{LF}
当文件导入 Excel 时,Excel 遇到换行符时会创建新行:
Jane Doe|123 Main Street Apt B|Anytown|NY|10010
因此“Apt B”现在位于某一行的“名称”字段中,等等。
{CR}{LF}
是否有一个用于导入的首选项页面,我可以在其中告诉 Excel 记录不是结束{LF}
?
答案1
根据您的 Excel 版本,您可以使用
- 在 Excel 2016 中获取并转换功能
- 或以前(Excel 2010/2013)与免费 MS 插件相同的工具称为Power Query(Excel 2010/2013)
导入 csv 文件(或直接连接到许多不同的源,如 SQL Server)非常方便,特别是当您想在导入步骤后转换数据时。
我尝试了上述示例,没有遇到换行问题。这是使用 UI 导入后的代码。它在MS 支持网站
let
Source = Csv.Document(File.Contents("C:\YourFile.csv"),[Delimiter=",", Columns=5, Encoding=1252]),
ChangeType = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}}),
ReplaceLFcol2 = Table.ReplaceValue(ChangeType,"{LF}"," ",Replacer.ReplaceText,{"Column2"})
in
ReplaceLFcol2