是否可以将 csv 文件垂直拆分为多个文件?我知道我们可以使用命令行将单个大文件拆分为较小的文件,而无需提及任何行。我有 csv 文件,其中的列在某些列号之后重复,我想按列拆分该文件。这可以通过命令行实现吗?如果不能,那么我们如何使用 python 来实现呢?
考虑上面的示例,其中站点和地址垂直出现多次,我想创建 3 个包含单个站点和单个地址的不同 csv 文件
任何帮助将不胜感激,
谢谢
最佳答案
假设您的输入文件名为 ~/Downloads/sites.csv
并且如下所示:
Google,google.com,Google,google.com,Google,google.com
MS,microsoft.com,MS,microsoft.com,MS,microsoft.com
Apple,apple.com,Apple,apple.com,Apple,apple.com
您可以使用cut创建3个文件,每个文件包含一对公司/站点:
cut -d "," -f 1-2 < ~/Downloads/sites.csv > file1.csv
cut -d "," -f 3-4 < ~/Downloads/sites.csv > file2.csv
cut -d "," -f 5-6 < ~/Downloads/sites.csv > file3.csv
说明:
对于 cut 命令,我们将逗号 (,) 声明为分隔符,它将每一行拆分为“字段”集合。
然后,我们为每个输出文件指定我们想要包含哪些字段。
呵呵!
关于python - 使用命令行垂直分割csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48135256/