Access 解析 CSV 文件中的双引号的问题

Posted

技术标签:

【中文标题】Access 解析 CSV 文件中的双引号的问题【英文标题】:Issues with Access parsing double quotes in a CSV file 【发布时间】:2014-03-19 10:22:15 【问题描述】:

我有一个大型 CSV 文件,我正尝试将其导入 Microsoft Access,但我遇到了问题。假设管道代表数据库中的不同单元格

假设我的内容如下。第二个条目将仅使用默认设置解析单词 my 并且不会将单词内容导入数据库,即使导入向导暗示会这样做。默认设置为 , 分隔符和 " 文本限定符。

|my content is good|
|my|

现在,如果我将文本限定符更改为 NONE,它会解析整个第二个条目,并且我的内容将被导入到数据库中,但是第一个条目最终将位于数据库中的 3 个不同单元格中,并将显示为

my|content|is|good. 
|my content

我使用管道来表示不同的单元格。

这似乎是 Microsoft Access 中的一个限制。有没有人熟悉这个解决方法?

原创内容:

,"my,content,is,good","",

,my"content","",

我正在使用导入向导

【问题讨论】:

您是如何运行此导入的?通过代码还是通过向导? 我正在使用导入向导 第二行应该是"my""content""",否则,你有非标准的csv。 所以 CSV 的格式不正确,听起来……谢谢您的帮助。 对于每个包含的报价,您应该有两个报价。所以comma quote text quotequote text quotequote quote comma。忽略空格。 【参考方案1】:

是的,这是 Access 中 CSV 导入功能的限制。无论出于何种原因,Access 在解析 CSV 文件的能力上总是比 Excel 更严格。

因此,一种解决方法是在 Excel 中打开 CSV 文件,将文件保存为实际的 Excel 工作表,然后将 Excel 工作表导入 Access。例如 CSV 文件

this,is,a "test",CSV file,"Ugly, yes, but still parsable."

是“非标准”(如果有人愿意承认存在 CSV“标准”之类的东西),Access 无法直接导入它。 (它要么抱怨“无法解析的记录”,要么将逗号上的最后一个字段分开,具体取决于“文本限定符”设置。)

但是,我们可以在 Excel 中打开它

将文件另存为“foo.xlsx”,然后将 .xlsx 文件导入 Access

【讨论】:

即使这是一个不错的解决方案,我仍然会保持警惕。例如3,"1" long"

以上是关于Access 解析 CSV 文件中的双引号的问题的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式在csv中找到缺少的双引号

正则表达式删除由双引号划定的 CSV 字段中的双引号

Spark数据框databricks csv附加额外的双引号

CSV文件的双引号怎么去掉。用记事本打开有双引号,EXCEL打开又没有了,怎么样去掉这个双引号,这是个啥

如何有条件地删除 R 中 write.csv 中的双引号

删除 Pandas 中的双引号