gpt4 book ai didi

python - 将目录中所有文件的第 n 列复制到一个文件中

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:22 25 4
gpt4 key购买 nike

我有一个包含许多 .csv 文件的目录。如何按列将每个文件的第 n 列提取到新文件中?

例如:

文件A:

111,222,333
111,222,333

文件 B:

AAA,BBB,CCC
AAA,BBB,CCC

文件 C:

123,456,789
456,342,122

等等……

如果 n = 2,我希望生成的文件是:

222,BBB,456,... 
222,BBB,342,...

其中 ... 表示将有与目录中的文件数一样多的列。

到目前为止我的尝试:

#!/bin/bash

for i in `find ./ -iname "*.csv"`
do
awk -F, '{ print $2}' < $i >> result.csv ## This would append row-wise, not column-wise.
done

更新:

我不只是想连接两个文件。特定目录中有 100 个文件,我想将所有文件的第 n 列复制到一个文件中。我以两个文件为例,说明如果只有两个文件,我希望数据如何。

正如评论中指出的那样,加入两个文件很简单,但加入多个文件可能并不那么容易,这就是我的问题所在。 python 会帮助完成这项工作吗?

最佳答案

基于 triplee 的解决方案,这是一个使用 eval 的通用版本:

eval paste -d, $(printf "<(cut -d, -f2 %s) " *.csv)

我不太喜欢 eval(使用它时一定要小心),但它有它的用途。

关于python - 将目录中所有文件的第 n 列复制到一个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com