【问题标题】:Split CSV file Columns into multiple files with iloc使用 iloc 将 CSV 文件列拆分为多个文件
【发布时间】:2019-06-10 09:29:50
【问题描述】:

我有一个 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 列。 ..

【问题讨论】:

标签: python csv


【解决方案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]]

【讨论】:

  • 我无法在我的 csv 文件中获取正确的列,从 0-8 没有列,它也占用了我不想要的最后一列
  • @snehilsingh 我建议您使用上述方法选择列(您可以放置​​您想要的任何范围)而不是丢弃它们并丢失信息。
  • 除了选择列索引之外,我们是否可以读取字符串列名本身,如果知道的话请联系我....thnx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2016-07-26
相关资源
最近更新 更多