这是我的关注。我有一个包含多个.csv文件的文件夹,我想将它们合并/合并到一个csv文件中,但是我需要将每个csv的文件名添加为.csv本身中的一列,这样我才能知道哪个条目来自合并文件中的哪个csv文件。我没有编码经验,但是我在网上找到了一些可以做到这一点的解决方案。
最简洁的是此CMD行:
for /f %a in ('dir /b *.csv') do for /f "tokens=*" %b in (%a) do echo %b,%a >> all.csv
我基本上导航到CMD中的csv文件夹,然后在其中输入此行并执行,但是根本没有输出。所以,我不知道我在做什么错。
奇怪的是,当我在另一个包含csv文件的文件夹中执行它时,它适用于另一个csv文件。该文件与其他csv文件之间的唯一区别是其他文件(不适用于csv文件)是从互联网上下载的,而这个文件是我创建的。
有人可以帮忙吗?
更新:刚刚检查过,当我重命名文件时可以使用该文件吗?
答案 0 :(得分:0)
我试图重新创建您的情况……据我所知,您的命令运行正常。这是我在Windows上尝试过的方法:
您提到,对从Internet下载的文件执行此操作无效。您可以提供有关这些文件的更多详细信息吗?
答案 1 :(得分:0)
您需要将每个csv的文件名添加为.csv本身中的一列吗?
在合并该文件夹中的文件之前,您需要根据该文件的列数在每个.csv文件的第一行中创建一个逗号分隔的行,并在文件名中添加您的文件名。