В powershell, используя командлет export-csv, мои целые числа заключаются в кавычки, есть идеи, почему? - PullRequest
2 голосов
/ 15 июля 2011

Итак, я запускаю sql-запрос, который я передаю по каналу export-csv, единственная проблема заключается в том, что все значения заключены в кавычки, включая целые числа, я не могу повторно импортировать в SQL как целые числа, есть идеи, почему?

Ответы [ 2 ]

6 голосов
/ 15 июля 2011

CSV не имеет понятия о типах. Это чисто строковый формат. PowerShell просто заключает в кавычки каждое значение, так как это проще, а выигрыш в пространстве, если не заключать в кавычки то, что не требуется, часто незначителен.

Также включает в качестве комментария в первой строке исходный тип экспортируемых объектов. Затем PowerShell использует это для восстановления при загрузке файла. Но, тем не менее, каждое свойство является строкой, потому что, как отмечалось, CSV не имеет информации о типе.

Что вы можете сделать потом, это восстановить типы:

Import-CSV foo | %{
  $_.SomeIntProperty = [int]$_.SomeIntProperty
  ...
  $_
}

Или не экспортировать как CSV, а как CLIXML.

0 голосов
/ 15 июля 2011

они экспортируются как строки, а не как целые числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...