使用iloc将CSV文件列拆分为多个文件

时间:2019-06-10 09:29:50

标签: python csv

我有一个CSV文件,其中包含98列(目前),其中包含来自其他文件的列,我只想像这样...将其他文件的列拆分为新的CSV文件...

我在这里上传了一个名为GenerateAndSplitSeedFile(Parts_skills_predict).csv的csv文件,如果需要的话,请查看它。

data =pd.read_csv('MergedSeedData(Parts_skills_Durations_fix).csv')
print(len(data.columns))
data1 = data.drop(data.iloc[:, 64:], axis=1)
print(data1)
data1.to_csv('data1file.csv', index=False)

在这里,我正在读取CSV文件,并且从98列中仅获取64列并将其写入CSV文件。

对其他拆分进行相同的操作,这里我需要从(0-8)和(64-83)中获取列,因为我在这里所做的是:

data22 = data.drop(data.iloc[:, 8:64], axis=1)
data2 = data22.drop(data22.iloc[:, 19:], axis=1)
# print(data2)
data2.to_csv('datafile.csv', index=False)

在这里,我在第一个split(data22)中将列从0-8和64-98分开,然后从data2中删除多余的列

问题是,如何在单行中对data2进行拆分,我想从主文件中拆分0-8,64-83中的列,我总共需要在一行中写入98列。 ..

1 个答案:

答案 0 :(得分:1)

有多种方法可以做到:

1。)np.concatenatenp.arange

#selecting 0-8,64-83
data.iloc[:, np.concatenate((np.arange(0,8),np.arange(64,83)),axis=0))]
#This is generate a list of column indexes you want to choose

2)np.r_

data.iloc[:, np.r_[0:8,64:83]]