Мы получаем CSV-файл с разделителями из внешней системы COGNOS в папке publi c. Это не удается загрузить в Salesforce через интерфейс командной строки Dataloader.
com.salesforce.dataloader.exception.DataAccessRowException: ошибка чтения строки № 0: количество столбцов данных (98) превышает количество столбцов в header (97)
Но если вы откроете CSV в MS Excel и сохраните как новый CSV (UTF-8), а затем передадите его в интерфейс командной строки загрузчика данных, он будет работать без каких-либо проблем.
Разница в конвертированном файле EXCEL, похоже, состоит в том, что он разделен запятыми, а не табуляцией.
Затем я попытался преобразовать исходный CSV с разделителями табуляцией в CSV с разделителями-запятыми, используя команду ниже:
import-csv source.csv -delimiter "`t" | export-csv target.csv -notype
Но в выводе есть кавычки, Data Loader теперь работает с файлом, но ничего не импортирует в 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?
Высоко признателен Любые предложения, мысли, помощь в достижении этого.
Спасибо!