【问题标题】:Combining data from 2 csv files and create new one合并来自 2 个 csv 文件的数据并创建一个新文件
【发布时间】:2017-10-24 10:53:26
【问题描述】:

我有 2 个 csv 文件。 第一个有这个专栏:

"www.test.com/"
"www.test2.com/"
"www.test3.com/"
"www.test4.com/"

第二个有这个栏目:

"a"
"b"
"c"
"d"

现在我想用这个表单创建一个 csv 文件:

"www.test.com/a"
"www.test.com/b"
"www.test.com/c"
"www.test.com/d"
"www.test2.com/a"
"www.test2.com/b"
"www.test2.com/c"
"www.test2.com/d"
"www.test3.com/a"
"www.test3.com/b"
"www.test3.com/c"
"www.test3.com/d"
"www.test4.com/a"
"www.test4.com/b"
"www.test4.com/c"
"www.test4.com/d"

我想创建一个新的 csv 文件,以这种方式从两个 csv 文件中合并数据。

【问题讨论】:

  • 到目前为止你尝试过什么? SO 不是代码编写服务。

标签: powershell csv


【解决方案1】:

使用Join-Object

(执行不带-On(别名-Using)参数的Join 将返回交叉连接,请参阅:https://stackoverflow.com/a/45483110/1701026

PS C:\> $Url | Join $Letter

Letter Url
------ ---
a      www.test.com/
b      www.test.com/
c      www.test.com/
d      www.test.com/
a      www.test2.com/
b      www.test2.com/
c      www.test2.com/
d      www.test2.com/
a      www.test3.com/
b      www.test3.com/
c      www.test3.com/
d      www.test3.com/
a      www.test4.com/
b      www.test4.com/
c      www.test4.com/
d      www.test4.com/

注意: Import-Csv 需要 .csv 文件中的头文件或由 '-Header` 参数定义(参见:https://stackoverflow.com/a/20528112/1701026

$Url = Import-Csv ".\URL.csv" -Header Url
$Letter  = Import-Csv ".\Letter.csv" -Header Letter

【讨论】:

    【解决方案2】:

    我认为您需要为此编写一个带有嵌套 for 循环的 VBA 宏。以下是没有代码的步骤,以后有时间可能会模拟一下。

    在空白电子表格的宏中。

    • 将第一个 csv 的内容放在定义的范围“rng1”中
    • 将第二个 csv 的内容放在定义的范围“rng2”中
    • 为活动工作表中 k=1 处的行启动一个计数器。
    • 对于第一个范围内的每个值 (test1.com)
    • 对于第二个范围 (a) 中的每个值
    • 设置活动工作表中第k行的值为rng1.value&rng2.value
    • 增量k
    • 结束内循环
    • 结束外循环

    这里的某个地方隐藏了一个解决方案。你自己尝试过什么吗?

    【讨论】:

      【解决方案3】:

      如果您在各自的 csv 文件中列名称为 ColumnURL 和 ColumnLetter,请尝试以下操作:

      $ListURL=import-csv "C:\temp\URL.csv"
      $ListLetter=import-csv "C:\temp\Letter.csv"
      
      $ListURL | %{$CurrentURL=$_; $ListLetter | %{ "{0}{1}" -f $CurrentURL.ColumnURL, $_.ColumnLetter}} 
      

      【讨论】:

        猜你喜欢
        • 2014-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-29
        • 1970-01-01
        • 2019-11-08
        • 1970-01-01
        相关资源
        最近更新 更多