我们从COGNOS外部系统的公共文件夹中获得一个制表符分隔的CSV 。无法通过Dataloader CLI上传到Salesforce。
com.salesforce.dataloader.exception.DataAccessRowException:错误 读取第0行:数据列(98)的数量超过 标头中的列(97)
但是,如果您在MS Excel中打开csv,并另存为新的CSV(UTF-8),然后将其传递到数据加载器CLI,则它可以正常工作。
EXCEL转换文件的区别似乎是逗号分隔而不是Tab。
然后我尝试使用以下命令将原始制表符分隔的CSV转换为逗号分隔的CSV,
import-csv source.csv -delimiter "`t" | export-csv target.csv -notype
但是它的输出带有引号,Data Loader现在与File一起运行,但是没有将任何内容导入到Salesforce中,似乎无法正确识别字段名称。
然后我在下面的命令中尝试删除双引号,
import-csv source.csv -delimiter "`t" | export-csv target.csv -notype
(Get-Content target.csv) | Foreach-Object {$_ -replace '"', ''}|Out-File target.csv
但是这导致了索引超出范围错误,这还不清楚。
对Data Loader CLI进行此转换的最佳方法是什么? 什么可使这种转换与EXCEL的转换相同?
高度赞赏任何建议,想法和帮助,有助于实现这一目标。
谢谢!