csv - 如何从 Access 正确导出为 utf-8 csv,修复格式问题
问题描述
问题:想要直接从 MS Access 2016 导出到 UTF-8 csv 文件,但存在格式问题。从 Access 导出到 Excel 然后手动保存为 UTF-8 CSV 文件的文件可以正常工作,但我想消除我的用户创建 csv 文件必须执行的额外步骤。
CSV 文件的布局由我们提供此数据的组织决定。
我们有一个我们分发的音乐 CD 的 Access 2016 数据库。第一列是艺术家,其格式为姓氏、名字(例如:Presley、Elvis)。从 Excel 保存到 csv 时,Excel 知道用双引号对其进行格式化:“Presley, Elvis”。
接下来的列是基本信息,如 UPC、目录号、价格。这些不应被双引号括起来。
一列是日期,格式为 m-DDD-yy 格式(例如 31-Dec-18)。这会正确导出到 Excel,并在从 Excel 保存到 UTF-8 csv 时,格式也正确。
最后一列是描述,可能固有地包含双引号(例如:“猫王是传奇,”Jane Doe 说)。从 Excel 保存到 UTF-8 csv 时,它会正确转换为三重双引号(“”“Elvis is Legend”,“”)。当然,该字段需要用双引号分隔。
回到 Access,当我设置导出模板时,我可以选择是否有分隔符,但不是有条件的。日期可以设置为dmy,但不能用三字母缩写;此外,它带有 0 的时间戳和 4 位数年份的日期。系统不会自动在现有报价周围添加额外的报价。我已经创建了一个表,用于在导出到 Excel 之前将这些数据临时存储在访问中,以允许导出整个描述。否则它将被截断为 255 个字符。我想我可以将日期字段设为文本字段并将数据保存为格式化文本。我想我可以对 Artist 字段做同样的事情。描述字段有问题。
当 Excel 设计人员想通了 Access 后,为什么它会变得如此困难?有没有一种方法可以编辑导出规范,而无需每次都通过向导,并仔细复制我创建的导出规范?
问题似乎出在出口规范中。唯一的实际代码是:
DoCmd.TransferText acExportDelim, "UTF8 Full Catalog Export Specification", "FullCatalogListing", "C:\Temp\FCLTest.csv", True, , 65001
解决方案
推荐阅读
- asp.net - 如何在 ASP.NET Core v2 中传递字符串以及注入的依赖项
- java - 处理程序没有实现延迟,而是使应用程序崩溃
- ios - 在 swift 4 中将 Sha256 散列值转换为 NSString
- python - 有效地将列表合并到稀疏列表中
- python - Rstudio 需要 keras 2.0.0,虽然我是通过 Python 安装的
- javascript - 如何在 DotNetBrowser 中获取地理位置信息
- logstash - 如何在logstash中拆分多行日志
- python-3.x - comtypes 与 Python3 兼容吗?
- java - 如何从另一个类调用 if 语句
- php - Laravel 获取每个组的最新记录