将Import-CSV结果从字符串转换为任意数据类型

鲍勃·莫蒂默(Bob Mortimer)

假设我从PowerShell中读取了一个CSV文件:

$data = Import-Csv "myfilename.csv"

CSV文件(通常)可以包含字符串和数字,但是PowerShell将它们作为字符串存储在内存中:

PS D:\> $ data [0] .Col3.GetType()

IsPublic IsSerial名称BaseType 
-------- -------- ---- --------
是是是字符串System.Object

导入后,能够从字符串转换类型将很有用。如果只有一两列,则可以使用以下计算的属性将它们转换:

$data = Import-Csv "myfilename.csv" |
        select -Property @{n='Col2';e={[int]$_.Col2}},
            @{n='Col3';e={[double]$_.Col3}}

但是,假设我事先不知道列名和预期的类型。相反,我有一个任意的“模式”告诉我哪些列应该是哪种类型,例如:

$Schema = @{Col1=[string];Col2=[int];Col3=[double]}

如何将Import-CSV的输出转换为架构确定的类型?(最好以有效/优雅的方式)

样本CSV文件

“ Col1”,“ Col2”,“ Col3” 
“ a”,2,4.3 
“ b”,5,7.9
马丁·布兰德尔

您可以通过-as强制转换来做到这一点

$data = Import-Csv "myfilename.csv" |
        select -Property @{n='Col2';e={$_.Col2 -as $Schema.Col2}},
            @{n='Col3';e=$_.Col3 -as $Schema.Col3}}

对于任意数量的列,您可以将此答案中概述的方法扩展到一个类似的问题:

$data = Import-Csv "myfilename.csv" | Foreach-Object { 
          foreach ($property in $_.PSObject.Properties) {
            $property.Value = $property.Value -as $Schema[$property.Name]
          }
          $_   # return the modified object
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据类型转换为字符串(SML)

来自分类Dev

Pentaho:如何使用pentaho转换将字符串数据类型转换为XML数据类型

来自分类Dev

使用子字符串转换将数据类型varchar转换为数值时出错

来自分类Dev

将混合数据类型的元组列表转换为所有字符串

来自分类Dev

将数字字符串转换为R中的数字数据类型

来自分类Dev

如何将ulong数据类型输入转换为字符串以输出语音数字?

来自分类Dev

将字符串日期转换为日期数据类型

来自分类Dev

将混合数据类型的元组列表转换为所有字符串

来自分类Dev

将字符串转换为char和int数据类型

来自分类Dev

将字符串转换为数字数据类型并舍入浮点值的函数

来自分类Dev

如何将字符串转换为自定义数据类型

来自分类Dev

来自NODEJS的MongoDB插入将值的数据类型从int转换为字符串

来自分类Dev

R语言将时间数据类型转换为字符串

来自分类Dev

Hive - 将像“yyyy-MM-dd”这样的字符串转换为数据类型“yyyy-MM-dd”

来自分类Dev

将 CSV 数据转换为字符串

来自分类Dev

将具有多种数据类型(字符串和整数)的列表转换为python中的字符串

来自分类Dev

查询从int数组转换的字符串,将导致Conversion数据类型smallint错误

来自分类Dev

将字符串数据读入haskell数据类型?

来自分类Dev

如何将只有一年(可能是字符串)的单元格转换为 DateTime 数据类型?

来自分类Dev

将Spark数据框中的MapType类型的列的数据转换为字符串

来自分类Dev

MongoDB将字符串类型转换为浮点类型

来自分类Dev

将类型名称从类型转换为字符串

来自分类Dev

MongoDB将字符串类型转换为浮点类型

来自分类Dev

从字符串的第一个和最后一个位置删除double qoute或将字符串转换为其他数据类型

来自分类Dev

在Swift中,如何将具有任意类型值的字典转换为JSON字符串

来自分类Dev

如何使用反射将IList动态转换为任意数据类型的数组

来自分类Dev

直接将mysqli结果转换为字符串

来自分类Dev

将结果的错误代码转换为字符串

来自分类Dev

字符串替换将结果转换为整数python

Related 相关文章

  1. 1

    将数据类型转换为字符串(SML)

  2. 2

    Pentaho:如何使用pentaho转换将字符串数据类型转换为XML数据类型

  3. 3

    使用子字符串转换将数据类型varchar转换为数值时出错

  4. 4

    将混合数据类型的元组列表转换为所有字符串

  5. 5

    将数字字符串转换为R中的数字数据类型

  6. 6

    如何将ulong数据类型输入转换为字符串以输出语音数字?

  7. 7

    将字符串日期转换为日期数据类型

  8. 8

    将混合数据类型的元组列表转换为所有字符串

  9. 9

    将字符串转换为char和int数据类型

  10. 10

    将字符串转换为数字数据类型并舍入浮点值的函数

  11. 11

    如何将字符串转换为自定义数据类型

  12. 12

    来自NODEJS的MongoDB插入将值的数据类型从int转换为字符串

  13. 13

    R语言将时间数据类型转换为字符串

  14. 14

    Hive - 将像“yyyy-MM-dd”这样的字符串转换为数据类型“yyyy-MM-dd”

  15. 15

    将 CSV 数据转换为字符串

  16. 16

    将具有多种数据类型(字符串和整数)的列表转换为python中的字符串

  17. 17

    查询从int数组转换的字符串,将导致Conversion数据类型smallint错误

  18. 18

    将字符串数据读入haskell数据类型?

  19. 19

    如何将只有一年(可能是字符串)的单元格转换为 DateTime 数据类型?

  20. 20

    将Spark数据框中的MapType类型的列的数据转换为字符串

  21. 21

    MongoDB将字符串类型转换为浮点类型

  22. 22

    将类型名称从类型转换为字符串

  23. 23

    MongoDB将字符串类型转换为浮点类型

  24. 24

    从字符串的第一个和最后一个位置删除double qoute或将字符串转换为其他数据类型

  25. 25

    在Swift中,如何将具有任意类型值的字典转换为JSON字符串

  26. 26

    如何使用反射将IList动态转换为任意数据类型的数组

  27. 27

    直接将mysqli结果转换为字符串

  28. 28

    将结果的错误代码转换为字符串

  29. 29

    字符串替换将结果转换为整数python

热门标签

归档