0
我有一个自动创建的包含多列的CSV文件。其中一列被称为“sn”。我需要确保sn永远不是CSV文件中的第一列。不幸的是我无法编辑创建程序的程序。批量移动CSV文件中的列
因此,在一个批处理文件,我想:
- 开放CSV
- 检查其中的sn列是
- 如果它是在第1列,然后将其移动到另一列(列2是精)
- 保存更改
这是可能在批处理文件?
谢谢。
我有一个自动创建的包含多列的CSV文件。其中一列被称为“sn”。我需要确保sn永远不是CSV文件中的第一列。不幸的是我无法编辑创建程序的程序。批量移动CSV文件中的列
因此,在一个批处理文件,我想:
这是可能在批处理文件?
谢谢。
@ECHO OFF
SETLOCAL
(
SET "choosing="
SET "movecol="
FOR /f "tokens=1*delims=," %%a IN (q20995223.txt) DO (
IF NOT DEFINED choosing (
IF "%%a"=="sn" SET movecol=Y
SET choosing=N
)
IF DEFINED movecol (ECHO(%%b,%%a) ELSE (ECHO(%%a,%%b)
)
)>newfile.txt
GOTO :EOF
如果在第一行的第一列包含sn
,则剩余的列向左移动一个和sn
列移动到最后。否则,该文件仅转载至newfile.txt
q20995223.txt
是我的测试文件。将它们重命名为适合您的任务。
太棒了。谢谢! – user2145047
什么操作系统,什么编程语言,任何约束?你尝试了什么? – Andy
明天你会要求使用批处理文件编写数据库服务器。为什么不使用任何真正的编程语言来做到这一点? – smnbbrv
你的问题的答案是“是的,这是可能的”。但相当费力。使用红宝石和csv模块,这是微不足道的。只需谷歌“红宝石csv教程”,你可以在30分钟内为这个任务写一个脚本。 – Draugr