当我尝试使用“来自文本”将 csv 文件导入为数据源时,出现了错误。我经常这样做,但对于特定的非常大的 csv 文件,我遇到了这个特定的错误。显然,我认为问题出在 csv 文件上,但我不确定要检查什么。我也尝试过在导入时更改文件来源设置,但没有成功。
有什么想法吗?
谢谢!
答案1
我认为问题出在 csv 文件上
这是真的。
我不确定要检查什么
首先 - 在“导入主程序”设置中将非文本类型的一列的数据类型更改为文本,然后导入。如果失败 - 再更改另一列。您将找到具有问题值的列(如果有多个这样的列,您将找到最后一个)。找到有问题的列后,将其数据类型修复为文本,并对所有其他列使用正确的数据类型 - 如果失败,请搜索另一个有问题的列。找到所有有问题的列。
成功导入后,调查有问题的列值(例如,使用数据透视表或查看自动筛选中的值列表) - 如果无法“目测”找到,则可以尝试使用相应的工作表公式将此列值转换为附加列中的正确数据类型,并在转换时检查错误(在目标列中)。您将找到有问题值的行。
另一种查找行的方法(如果只有一个有问题的列)是指定导入期间必须跳过的起始行数。您有 ~4000 行 - 跳过 2000 行,如果失败,则跳过 3000 行(3000 行和 4000 行之间的中间行),如果不失败,则跳过 1000 行(0 行和 2000 行之间的中间行)... 并在每次尝试导入时将范围减少两次,直到出现问题行。
当然,这只允许找到一个有问题的值 - 但可能存在多个问题......
将所有列导入为文本列,然后将所有非文本列转换为正确的数据类型,这样您就可以通过一次操作找到所有错误,这是首选。但不要惊讶,一些错误的值(在导入期间)可能会被无错误地转换,给出正确或不正确的结果(例如,日期值可能会交换日期和月份)。