python-3.x 如何在csv文件中每隔n列连接在一起

e5njpo68  于 2023-02-01  发布在  Python
关注(0)|答案(1)|浏览(108)

我有一个文件,里面有上千行数据,我想做的是每隔n列连接在一起,比如我想把每隔3、4、5列连接在一起,然后把它单独列出来,有没有可能这样做?
样本数据:

输出:

我甚至不知道从哪里开始,所以任何帮助都是感激的。我知道一个方法与Pandas,但Pandas给我的问题,所以有任何其他的方法来解决这个问题?

tv6aics1

tv6aics11#

没有pandas标记,但如果您对此持开放态度,这里有一个关于pandas.concat的 * 命题 *:

#pip install pandas
import pandas as pd

df = pd.read_csv("infile.txt", sep=",") # <- change the sep here to match yours

S1, S2 = 2, 1 #columns to skip at the beginning and while concatenating
N, M = 3, 5 #first range of columns to concatenate

(
    pd.concat([df.astype(str).iloc[:, i+S1:i+M].agg("".join, axis=1)
               for i in range(0, df.shape[1]-M, N+S2)], axis=1)
        .pipe(lambda df_: df_.set_axis(df_.columns.map(lambda x: f"Join {x+1}"), axis=1))
        .to_csv("outfile.csv", sep=",") # <- change the sep here to match yours
)

输出(* 中间体 *):

Join 1 Join 2  Join 3
0    345    789  111213

相关问题