繁体   English   中英

从现有数据框中将某些列导出到新的csv文件

[英]export some columns to new csv file from existing dataframe

我有一个名为“ data”的数据列,其中有55列,我想用前52列创建一个新的csv文件。 我不想包括的最后三列名称是“类”,“ part_id”和“ image_file”。 我一直在搜索,解决方案是这样的:

import pandas as pd
useful_columns = [col1,col2,...] #list the columns I need
data[useful_columns].to_csv('new.csv', index=False) #prevent creating extra column

#reference: https://stackoverflow.com/questions/46546388/how-to-skip-columns-of-csv-file

我收到一条错误消息,指出“ col1,col2未定义”,但是我确实有52列要导出到新的csv文件中,所以写每个列的名称(粒子ID,Area(ABD),长宽比)太长了...等等)。 有没有一种快速的方式说“仅从现有数据框中获取前52列并将其放入新的csv文件中?

非常感谢!

useful_columns = ['title column1','title column2']
data.loc[:,useful_columns].to_csv('new.csv')

如果您可以提供列标题,它应该可以工作。 否则为:

useful_columns = [0:52]
data.iloc[:,useful_columns].to_csv('new.csv')

我可以考虑两种方法,具体取决于哪一个更重要-能够写出您要选择的几列或完全对“最后3个”进行数字取消选择

如果您可以写出很少的列名,那么它将总是更加可靠

 deselectlist =[ 'Class', 'part_id' , 'image_file']
 selectlist =[x for x in data.columns if x not in deselectlist]
 datatowrite = date[selectlist]

 datatowrite.to_csv('new.csv')

或者,如果您不想实际写取消选择的列的名称,可以尝试

 columnlist = [x for x in data.columns]
 datatowrite = data[columnlist[:-2]]

那么您只删除最后三个。 我当然会建议检查订单是否保持...当我尝试它工作时,但我认为第一个更可靠

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM