csv - 批处理文件复制 CSV 文件中的列
问题描述
我需要能够在 CSV 文件中获取一列并将其复制,以便每个文件的开头和结尾都具有相同的确切值。
请参阅下面的示例,该示例显示了输入和所需的输出。
输入
abc,123,tim,cook
xyz,456,steve,jobs
期望的输出
abc,123,tim,cook,123
xyz,456,steve,jobs,456
理想情况下,我想用批处理脚本来做到这一点
有任何想法吗?
解决方案
示例文件test.csv
@echo off
(for /f "usebackq tokens=1,2,* delims=," %%i in ("test.csv") do (
echo %%i,%%j,%%k,%%j
)
)>new.csv
非常简单,我们获取字符串并分配给元变量,%%i
然后我们将字符串拆分,
并仅使用标记 2,然后我们回显元变量并用逗号%%i
附加到它。%%a
然后输出将在new.csv
PS!!正如@Compo 在评论中所述,具有重复的标头值可能会产生问题,具体取决于您对文件所做的操作,在这种情况下,您可以指定一个新的标头字段,该字段不重复,只需将该字段附加到标头,只需确保将值更改New_HeaderValue
为实际的新标头值。:
@echo off
(for /f "usebackq delims=" %%i in ("test.csv") do echo %%i,New_HeaderValue & goto :remainder)>new.csv
:remainder
(for /f "usebackq skip=1 tokens=1,2,* delims=," %%i in ("test.csv") do (
echo %%i,%%j,%%k,%%j
)
)>>new.csv
推荐阅读
- azureservicebus - 多个批处理消费者在接收消息时抛出 MessageLockLostException
- git - 如何从目录中删除除未版本化的 git 文件之外的所有文件?
- android - Android Studio 无法在物理设备上安装应用(但 adb 可以访问)
- maven - 如何在没有主类的情况下使用 maven-assembly-plugin 在 Kotlin 中创建可执行 jar?
- android - 最小化视图自定义中的多选窗口应用栏 - Android/React Native
- c# - 为什么我不能用这段代码让我的游戏对象移动?
- tapkey - 调用`https://login.tapkey.com/connect/token`时获取CORS
- javascript - 未捕获的类型错误:无法读取未定义的属性(读取“样式”)style.width="200px"
- sql - 将带有外部应用的 SQL 转换为 LINQ
- node.js - REST API - 如何处理 URIError:发送无效参数时“无法解码参数”