如何根据csv标头(列)将数据分为两个或多个csv文件

时间:2019-03-14 06:25:28

标签: python pandas csv

伙计们,我有一个程序,可以读取csv文件并随机生成数据并将其转储到另一个csv文件中……现在我得到了一个csv文件,该文件具有100列,其中30列属于其他数据,但是最后,我想通过附加一些对这两个csv文件通用的公用列,将该数据分成两个不同的csv文件。这是csv示例数据:

A1  A2  A3  A4  B1  B2  B3  C1  C2  C3
1   1   1   1   2   2   2   3   3   3
1   1   1   1   2   2   2   3   3   3
1   1   1   1   2   2   2   3   3   3

在此文件中A对两个文件都是通用的,因此输出数据应如下所示:

A1  A2  A3  A4  B1  B2  B3
1   1   1   1   2   2   2
1   1   1   1   2   2   2
1   1   1   1   2   2   2


A1  A2  A3  A4  C1  C2  C3
1   1   1   1   3    3   3
1   1   1   1   3    3   3
1   1   1   1   3    3   3

要获得所有条件下的一个csv文件,我已编写了代码,这是它的小提琴链接:https://pyfiddle.io/fiddle/6c547de1-eca3-4e86-bf85-bfa9eba6e653/?m=Uploaded%20file(s)

这很容易理解,所以很简单: 我正在读取一个csv文件:

df=pd.read_csv("somefile.csv")

在这里进行所有计算操作,还添加了另外三列,分别是srid,Year,Month,因此在生成数据时是Year和month,最后又是srid。     final_Array.append(values)#“ final_Array”包含所有列的数据。然后将其附加到数据框。

data = pd.DataFrame(final_Array) to dump it to the csv file .....

但是我不知道如何将此数据值拆分为两个文件,这是将所有数据拆分为单个文件的所有操作,是否有任何方法可以拆分已经存在的数据写入csv文件之前生成的...感谢帮助

1 个答案:

答案 0 :(得分:2)

您可以将tf.toPixels()与〜运算符一起使用以丢弃列,

startswith

如果您想直接将数据帧写入csv,请尝试

A_C = df1[df1.columns[~df1.columns.str.startswith('B')]]

    A1  A2  A3  A4  C1  C2  C3
0   1   1   1   1   3   3   3
1   1   1   1   1   3   3   3
2   1   1   1   1   3   3   3


A_B = df1[df1.columns[~df1.columns.str.startswith('C')]]


    A1  A2  A3  A4  B1  B2  B3
0   1   1   1   1   2   2   2
1   1   1   1   1   2   2   2
2   1   1   1   1   2   2   2