python - 使用命令行垂直分割csv文件

标签 python bash csv command-line command

是否可以将 csv 文件垂直拆分为多个文件?我知道我们可以使用命令行将单个大文件拆分为较小的文件,而无需提及任何行。我有 csv 文件,其中的列在某些列号之后重复,我想按列拆分该文件。这可以通过命令行实现吗?如果不能,那么我们如何使用 python 来实现呢?

对于例如。 enter image description here

考虑上面的示例,其中站点和地址垂直出现多次,我想创建 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/

相关文章:

javascript - 从 Javascript 命令运行 Django 函数

python - 如何在Python中创建 "cmd"函数?

python - pip 安装 python2.7 的模块而不是 python3.4

linux - 管道 envsubst 输出到配置单元

python - 使用 Python 将复杂的 XML 解析为 CSV

powershell - 在 Powershell 中导入 CSV ,每 10 行分成多个文件

sql - 有没有办法针对 SQL-CSV-Antipattern 编写 'good' 查询?

python - 如何获取视频的长度以便在开始上传之前验证 django 表单?

linux - 限制 shell 命令

java - 从 java 运行可执行文件失败