基于不带格式的列值拆分CSV

基于不带格式的列值拆分CSV,csv,powershell,Csv,Powershell,我已经找到了很多问题和答案,但似乎我找不到一个适合我的。我需要根据列值拆分CSV。以下是我的工作表示例: <option value="">Choose Year</option> ParentID <option value="Civic1990">1990</option> Civic <option value="CRX1990">1990</option> CRX <option value="Prel

我已经找到了很多问题和答案,但似乎我找不到一个适合我的。我需要根据列值拆分CSV。以下是我的工作表示例:

<option value="">Choose Year</option>   ParentID
<option value="Civic1990">1990</option> Civic
<option value="CRX1990">1990</option>   CRX
<option value="Prelude1990">1990</option>   Prelude
<option value="Accord1990">1990</option>    Accord
<option value="Prelude1991">1991</option>   Prelude
<option value="Civic1991">1991</option> Civic
<option value="CRX1991">1991</option>   CRX
<option value="Accord1991">1991</option>    Accord
<option value="Prelude1992">1992</option>   Prelude
<option value="Civic1992">1992</option> Civic
<option value="Accord1992">1992</option>    Accord
<option value="Prelude1993">1993</option>   Prelude
<option value="Civic1993">1993</option> Civic
<option value="CivicdelSol1993">1993</option>   CivicdelSol
<option value="Accord1993">1993</option>    Accord
<option value="Passport1994">1994</option>  Passport
<option value="Accord1994">1994</option>    Accord
<option value="Prelude1994">1994</option>   Prelude
<option value="Civic1994">1994</option> Civic
<option value="CivicdelSol1994">1994</option>   CivicdelSol
<option value="Passport1995">1995</option>  Passport
<option value="Accord1995">1995</option>    Accord
<option value="Odyssey1995">1995</option>   Odyssey
<option value="Prelude1995">1995</option>   Prelude
<option value="Civic1995">1995</option> Civic
<option value="CivicdelSol1995">1995</option>   CivicdelSol
<option value="Passport1996">1996</option>  Passport
<option value="Accord1996">1996</option>    Accord
<option value="Odyssey1996">1996</option>   Odyssey
<option value="Prelude1996">1996</option>   Prelude
<option value="Civic1996">1996</option> Civic
选择年份ParentID
1990年公民
1990年CRX
1990年序曲
1990年协议
1991年序曲
1991年公民
1991年CRX
1991年协议
1992序曲
1992年公民
1992年协议
1993年序曲
1993年公民
1993 CivicdelSol
1993年协议
1994年护照
1994年协议
1994年序曲
1994年公民
1994年公民学院
1995年护照
1995年协议
1995奥德赛
1995年序曲
1995年公民
1995年CivicdelSol
1996年护照
1996年协议
1996奥德赛
1996年序曲
1996年公民
我需要根据“ParentID”列进行拆分,并且只包含选项值。我目前正在使用PowerShell,但即使排除数据类型,在放置txt文件时服务器正在读取的输出txt文件中仍存在格式设置

这些选项值用于下拉列表,因此我需要取消格式设置

有没有一种方法可以在python或其他程序中实现这一点,而不需要格式化,这样网站就可以读取txt文件

以下是我当前的PowerShell脚本:

$fullpath = "C:\Users\Ray\Desktop\YHP Revamp\New Cache 02-3\SubGroup\SubGroup.csv"

$path = Split-Path $fullpath -parent
$data = Import-CSV -Delimiter "," -Path $fullpath -Header "<option value="">Choose SubGroup</option>",ParentID

foreach ($group in $data | Group ParentID) {
    $data | Where-Object {$_.ParentID -eq $group.name} | 
        select * -ExcludeProperty ParentID |
        ConvertTo-Csv|   
        foreach {$_.Replace('#TYPE Selected.System.Management.Automation.PSCustomObject','')} |
        foreach {$_.Replace('"<','<')} |
        foreach {$_.Replace('>"','>')} |
        foreach {$_.Replace('"">','">')} |
        foreach {$_.Replace('=""','="')} |
        foreach {$_.Replace('=">','="">')} |
        Out-File "$path\$($group.name).txt"
}
$fullpath=“C:\Users\Ray\Desktop\YHP-reform\New Cache 02-3\SubGroup\SubGroup.csv”
$path=拆分路径$fullpath-父级
$data=导入CSV-分隔符“,”-路径$fullpath-标题“选择子组”,父ID
foreach($data中的组|组父ID){
$data |其中对象{$\.ParentID-eq$group.name}
选择*-ExcludeProperty ParentID|
转换为Csv|
foreach{$\.Replace('#选择类型.系统.管理.自动化.PSCustomObject','')|
foreach{$\.Replace(“)}|
foreach{$\.Replace('='','='')}|
foreach{$\.Replace('='>','=''>')}|
输出文件“$path\$($group.name).txt”
}

假设您的输入文件实际上是一个选项卡分隔的文本文件,我会这样处理它:

Import-Csv $fullpath -Delimiter "`t" -Header Year, ParentID |
  Select-Object -Skip 1 |
  ForEach-Object {
    $parent = $_.ParentID
    $_.Year -replace '.*?"(.*?)".*', '$1' | Out-File "$path\$parent.txt" -Append
  }
-Header Year,ParentID
Select Object-Skip 1
的组合是用更合理的内容替换第一列的实际标题。

这个“csv”是如何生成的?它看起来像是部分XML。我会更关注如何创建它。这不是csv