在powershell的列中处理带有换行符的CSV

2024-05-15

目前,我有一个系统,它创建一个像下面这样的分隔文件,在其中我模拟了偶尔出现在列中的额外换行符。

列 1、列 2、列 3、列 4

文本1、文本2[LF]、文本3[LF]、文本4[CR][LF]

文本1、文本2[LF][LF]、文本3、文本4[CR][LF]

文本1、文本2、文本3[LF][LF]、文本4[CR][LF]

文本1、文本2、文本3[LF]、文本4[LF][LF][CR][LF]

我已经能够通过使用 Notepad++ 使用以下 REGEX 忽略有效的回车/换行组合来删除引起我担忧的换行:

(?<![\r])[\n]

但是,我无法使用 powershell 找到解决方案,因为我认为当我获取 csv 文件的内容时,文本字段中的换行符将被忽略,并且该值作为单独的对象存储在分配给 get-content 的变量中行动。我的问题是,如果 cmdlet 在加载数据时忽略换行符,如何使用替换将正则表达式应用到 csv 文件?

我还尝试了下面的方法来加载 csv 的内容,该方法也不起作用,因为它只会产生一个长字符串,这与使用 -join(get-content) 类似。

[STRING]$test = [io.file]::ReadAllLines('C:\CONV\DataOutput.csv')
$test.replace("(?<![\r])[\n]","")
$test | out-file .\DataOutput_2.csv


差不多了,我可以建议做 3 处改变:

  • use ReadAllText(…) instead https://stackoverflow.com/a/2965533/653295 of ReadAllLines(…)
  • use -replace …代替.Replace(…),只有这样第一个参数才会被视为regex
  • do具有替换结果的东西(例如将其分配回$test)

示例代码:

[STRING]$test = [io.file]::ReadAllText('C:\CONV\DataOutput.csv')
$test = $test -replace '(?<![\r])[\n]',''
$test | out-file .\DataOutput_2.csv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在powershell的列中处理带有换行符的CSV 的相关文章

  • 为所有用户持久安装 PowerShell 模块

    我正在通过以下方式安装 PowerShell 模块八达通部署 http octopusdeploy com 到许多不同的服务器上 出于测试目的 我按照 Microsoft 文档的指导进行了安装PowerShell模块 https learn
  • 为什么 Response.Write() 无法将 CSV 文件导出到浏览器?

    我正在尝试将 DataTable 的内容作为 Excel csv 文件导出到用户的浏览器 当我单击 导出 按钮并在调试器中单步执行代码时 一切看起来都在发生 但实际上没有文件发送到浏览器 问题是 我在另一个项目中使用了这个完全相同的代码 并
  • 使用 Powershell 远程安装 .msi

    我已经让他使用这个论坛上存在的代码来跟踪代码 cls computername Get Content C Users C201578 db Documents server txt sourcefile iceopsnas LNT Sof
  • MySQL 导入 125000 行 CSV 的最快方法?

    这是我第一次使用 MySQL 除了对现有数据库进行一些基本查询之外 所以我不擅长解决这个问题 我有一个包含 125 000 条记录的 CSV 我想将其加载到 MySQL 中 我安装了版本 8 和工作台 我使用导入向导加载 CSV 它开始导入
  • 使用 Meteor 中的 D3 访问 csv 文件

    我已经使用 D3 成功渲染了一个 HTML 表格 显示了 csv 文件中的数据 但是当我将相同的代码移入 Meteor 项目时 我遇到了问题 传递到 d3 csv 回调中的数据对象一次拾取 HTML 文件 1 行 而不是 csv 数据 仅当
  • XSLT:CSV(或平面文件或纯文本)到 XML

    我正在尝试使用 XSLT 将纯文本文件转换为 XML 文件 我从 CSV 文件开始 因为这是一种众所周知的文件格式 我可以开始在 Google 上搜索示例 我偶然发现了这一点 http ajwelch blogspot com 2007 0
  • 如何避免 pandas 在保存的 csv 中创建索引

    我试图在对文件进行一些编辑后将 csv 保存到文件夹中 每次我使用pd to csv C Path of file csv csv 文件有一个单独的索引列 我想避免将索引打印到 csv 我试过 pd read csv C Path to f
  • Spark SQL如何读取压缩的csv文件?

    我尝试过使用apispark read csv读取带有扩展名的压缩 csv 文件bz or gzip 有效 但在源代码中我没有找到任何可以声明的选项参数codec type 即使在这个link https github com databr
  • 带有 UiPath 的 Powershell

    我正在使用 UiPath 启动 PowerShell 脚本 我需要从 UiPath 传递一个参数 首先这可能吗 其次有人有这方面的例子吗 不确定 PowerShell 脚本中的语法是什么 是否可以将参数从 UiPath 传递到终端 您的 P
  • 使用 fgetcsv 循环遍历 csv

    我有一个包含 3 列的 csv 文件 电子邮件地址 名 and 姓 我已经到了可以使用以下代码打印数组的阶段 这会打印数组 因此每个字段都在一行中 我希望它打印的只是该行第一列中的值 这是如何完成的 关于 fgetcsv 的文档对我 相对初
  • 使用 silverlight 4 和 c# 创建 CSV 下载

    我正在努力寻找示例或代码 以便能够在 silverlight 中创建 CSV 或文本文件作为可下载链接 我已经在 ASP net 中完成了此操作 但无法找到使用 Silverlight 的方法 我在旋转轮子吗 或者我应该创建一个 ASP 页
  • 启动 psexec 后获取进程 ID

    我有一个使用 psexec 在远程计算机上调用记事本的脚本 有什么办法可以在启动后获取进程ID吗 这是我所拥有的 PCname MyPC SessionID 2 Program Notepad exe FilePath C temp Fil
  • Powershell 脚本无法从 SCCM 正常运行 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 在 Windows 上不使用 OpenSSL 从 pfx 文件或证书存储中提取私钥

    正如标题所示 我想在不使用 OpenSSL 或任何其他第三方工具的情况下导出我的私钥 如果我需要一个 cer文件或 pfx我可以通过 MMC 或 PowerShell 轻松导出这些文件pkiclient但我找不到获取私钥的方法 https
  • Android Excel CSV 的 MIME 数据类型是什么?

    我尝试了 text csv 甚至 application vnd ms excel 但 Excel 不会显示在选择列表中 很多其他应用程序也可以 void shareCsv Uri uri Context context Intent in
  • 对 CSV 文件中的列进行分组并连接另一列的值

    我刚刚开始使用 PowerShell 在任何地方都找不到这个问题的答案 尝试编写一个脚本来导入 CSV 文件并搜索该文件以查看是否有任何名称相同 如果名称相同 我想将所有这些值写在同一行上 并且只显示名称一次 例如 Name Number
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • Powershell:输出文件

    我正在尝试将所有控制台输出记录到文件中 移动项目 D scripts fileA D scripts fileB verbose Force 输出文件 D scripts move log 追加 如果该文件不存在 则正在创建该文件 但详细信
  • 如何在 WiX 中启动 PowerShell 并正确访问 Windows 注册表?

    Update 有趣的是 如果我运行 32 位 powershell 来运行脚本 它会给我同样的错误 看起来32位powershell无法访问64位注册表树 我尝试使用WixQuietExec64但它给出了同样的错误 我还尝试提供 power
  • 在 PowerShell 中过滤 TreeView 节点

    我的 TreeView 中有大量节点 并且有一个文本框可以过滤它们以突出显示匹配的搜索 然而 它有点混乱 因为它显示了所有其他节点 并且在我更改搜索后 它使所有节点都展开 我正在尝试做这样的事情 https www codeproject

随机推荐

  • Javascript 原型访问另一个原型函数

    function Scroller id this ID id this obj id this currentSlide 1 var self this setInterval self nextSlide 1000 Scroller p
  • iPhone AVFoundation 相机方向

    我一直在绞尽脑汁地试图让 AVFoundation 相机以正确的方向 即设备方向 捕获图片 但我无法让它工作 我看过教程 看过 WWDC 演示 还下载了 WWDC 示例程序 但即使这样也没有成功 我的应用程序的代码是 AVCaptureCo
  • 获取可用内容提供商的列表

    有没有一种方法可以以编程方式列出所有可用的内容提供商 http developer android com guide topics providers content providers html在设备上 没有真正的用例 我只是认为看看我
  • 在 Three.js 中从 Web Worker 加载纹理

    当将大纹理图像应用到网格上一段明显的时间时 Three js 会锁定浏览器的主线程 让我们考虑以下示例 var texLoader new THREE TextureLoader texLoader load someLargeTextur
  • “没有可用的二元红宝石”是什么意思?

    每当我使用rvm install x x x 即使安装成功 我也会收到此警告 No binary rubies available for osx 10 12 x86 64 ruby 2 4 0 Continuing with compil
  • 如何将 Tableau 提取数据转换为 csv(或 xls)

    我已成功从 Tableau 转换 twbx文件至 twb现在有一个 tde数据文件 这怎么可以 tde被转换为 csv or xls x 从版本 10 3 开始 您还可以从 数据 菜单导出为 CSV 该命令导出整个数据源 而工作表菜单上的导
  • Tridion 2009 模板发布失败

    在 Tridion 2009 中 我们在尝试发布页面 NET 时刚刚开始遇到一些错误 一开始是间歇性的经典 RenderComponentPresentation 超出了渲染失败的最大数量 0 错误 然后发展为完全失败 我们可以正确预览页面
  • onBackPressed - 避免破坏 Activity

    我有两个活动 活动 A 启动活动 B 然后活动 B 从数据库加载一些内容 并将数据可视化 完全初始化 B 中的所有内容需要一些时间 5 10 秒 我的问题是 如果我按 B 中的后退按钮 它会销毁 B 活动 调用 onDestroy 并返回到
  • Composer 无法下载文件

    我正在尝试在命令行上使用作曲家 php composer phar update php composer phar install php composer phar self update php composer phar selfu
  • Android 4.4 上使用反射上传文件的解决方法

    从 Android 4 1 到 Android 4 3 您可以子类化WebChromeClient在Android上并实现以下内容 隐藏 因此没有 Override 方法 public void openFileChooser ValueC
  • 是否有一种加密技术可以将 8 位数字变成 10 或 11 位或更少的数字?

    我见过的许多加密技术都可以轻松加密一个简单的 8 位数字 如 12345678 但结果通常是 8745b34097af8bc9de087e98deb8707aac8797d097f 编造的 但你明白了 有没有办法加密这个 8 位数字 但生成
  • AWS JS SDK TypeError:STS 不是构造函数

    我有一个 ReactJS 应用程序 它使用 aws sdk 进行认知登录 我用了yarn安装所有模块 但是当我尝试访问 localhost 的网站时 出现 JS 错误 未捕获 承诺中 类型错误 STS 不是构造函数 错误指向该行aws sd
  • 如何从 DTrace 脚本打印 NSString

    This question https stackoverflow com questions 1413623 how do i print a cfstringref in a dtrace action正在问同样的事情 但是当我尝试时
  • 如何从 Java 发送 SMTP 消息? [复制]

    这个问题在这里已经有答案了 可能的重复 如何使用 Gmail 从 Java 应用程序发送电子邮件 https stackoverflow com questions 46663 how do you send email from a ja
  • 如何合并多个Excel文件,每个Excel文件中有多个相同数量的工作表

    我目前可以将多个 Excel 文件合并到一张表中 我想合并每个 Excel 文件中具有两个不同工作表的多个工作表 并为每个工作表指定名称我怎样才能实现这个目标 下面是我当前的代码 用于将多个 Excel 文件中的单个工作表组合在一起 而无需
  • 如何从 Delphi 中的函数返回对象而不导致访问冲突?

    我有一个返回 TStringList 的 delphi 函数 但是当我返回一个值并尝试使用它时 我收到一个访问冲突错误 即 myStringList FuncStringList myStringList Items Count lt Th
  • 如何无限地每1分钟运行一个iOS应用程序?

    我制作了一个应用程序 需要每 1 分钟向服务器发送一次位置和状态更新 我尝试了以下方法 但没有一个能帮助我 有什么解决办法吗 1 NSTimer 很多人建议这样做 但问题出在后台模式上 它只能工作 20 分钟 该应用程序停止发送数据后 2
  • Amazon MWAA Airflow - 任务容器在没有日志的情况下关闭/停止/终止

    我们使用 Amazon MWAA Airflow 很少有任务标记为 FAILED 但根本没有日志 就好像容器在我们没有注意到的情况下被关闭了一样 我找到了这个链接 https cloud google com composer docs h
  • 创建具有特定权限的线程C++

    我有一个多线程应用程序 我想创建一个具有不同用户权限的线程 例如 多域管理员权限 但我找不到任何 Win32 APICreateThread要做到这一点 如何创建具有特定用户权限的线程 thanks 调用 CreateThread CREA
  • 在powershell的列中处理带有换行符的CSV

    目前 我有一个系统 它创建一个像下面这样的分隔文件 在其中我模拟了偶尔出现在列中的额外换行符 列 1 列 2 列 3 列 4 文本1 文本2 LF 文本3 LF 文本4 CR LF 文本1 文本2 LF LF 文本3 文本4 CR LF 文