如何在MAC OS上使用终端将多个CSV文件合并为一个?

时间:2018-01-25 15:30:21

标签: macos csv terminal

我有20个csv文件的目录。它们都有相同的标题。我想将这些csv文件合并到一个文件中。当我在Windows上工作时,我只需打开cmd,转到正确的目录并使用此命令:

 copy *.csv combined-files.csv

它在Windows上完成了这项工作。我无法在mac的终端上运行此命令,因为Mac上不存在命令。如何重写此Windows命令,以便它在Mac OS上执行相同的工作?

2 个答案:

答案 0 :(得分:1)

要将所有文件连接到单个文件,可以使用以下awk命令合并内容。 这将忽略标题内容,但

find . -name \*.csv -exec cp {} newdir/ \;

awk命令假定所有文件都在一个目录中。 如果所有文件都在不同的目录中,则可以使用以下命令将它们放在一个目录中

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/twisted/internet/defer.py", line 1297, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
  File "/usr/local/lib/python3.6/site-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File "/usr/local/lib/python3.6/site-packages/scrapy/core/downloader/middleware.py", line 43, in process_request
    defer.returnValue((yield download_func(request=request,spider=spider)))
twisted.internet.error.TCPTimedOutError: TCP connection timed out: 110: Connection timed out.

答案 1 :(得分:0)

我能想到的最简单,与Windows版本类似:

cat *.csv > combined-files.csv

请注意,如果标题包含在所有.csv文件中,则会在整个combined-files.csv中重复这些标题。就像您为Windows发布的解决方案一样。