【问题标题】:Manipulate CSV files with Powershell (generate column for hashkey)使用 Powershell 操作 CSV 文件(为 hashkey 生成列)
【发布时间】:2015-03-03 03:17:29
【问题描述】:

我有一个 CSV 文件,其中大约 10 列用 ; 分隔。 (分号)。我想添加另一列,它为第一列值生成哈希键。

Powershell 中是否有可能做到这一点?还有短哈希键(最多 10 到 15 个字符)吗?

示例:

旧:

10000;value2;value3....

新:

HashkeyOf10000;1000;value2;value3...

【问题讨论】:

  • Also are there short hashkeys (up to 10 to 15 chars)
  • 例如 MD5 的长度为 35 个字符。只是想知道是否有更短的。
  • 查看answer(在 Python 中,但逻辑应该相同)他们只是截断了结果。它允许可能的问题,但它们应该很少而且相距甚远。
  • 另请阅读有关该主题的讨论:programmers.stackexchange.com/questions/250235/…,它说它真的无法完成。

标签: powershell csv hash hashmap hashtable


【解决方案1】:

您可以使用 calculated property 将列添加到 CSV:

$csv = 'C:\path\to\your.csv'

(Import-Csv $csv -Delimiter ';') |
  select -Property @{n='Hashkey';e={Calc-Hash $_.A}},* |
  Export-Csv $csv -Delimiter ';' -NoType

Calc-Hash 替换为您的哈希函数的实际名称,将A 替换为您的CSV 第一列的实际名称。

Import-Csv 周围的括号是必需的,以确保在开始写入输出之前完成读取文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多