python - 从现有数据框中将一些列导出到新的 csv 文件
问题描述
我有一个名为“数据”的数据框,有 55 列,我想创建一个包含前 52 列的新 csv 文件。我不想包含的最后三个列名是“Class”、“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 not defined”,但我确实有 52 个列要导出到新的 csv 文件,写每个列名(粒子 ID、面积(ABD)、纵横比)太长了...ETC)。有没有一种快速的方法可以说“只需从现有数据框中取出前 52 列并将它们放入一个新的 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]]
那么你只删除最后三个。我当然会建议检查订单是否得到维护......当我尝试它时,但我认为第一个更可靠
推荐阅读
- database - 将事件溯源用于分布式事务是个好主意吗?
- javascript - 正则表达式相关的混淆
- python - 如何获取数据框中所有重复项的索引(pandas - python)
- scala - 我们可以使用 Spark Scala 创建具有特定节点的 xml 文件吗?
- sql - 报表生成器查询文本编辑器 Where 子句括号
- java - Auth0 的通用身份验证不允许注销
- r - 根据标头开始的位置将多个 CSV 读入 R 并编译
- database - 如何为一家提供各种服务的公司设计一个合适的功能数据库,尊重规范化规则?
- css - 试图将视频屏蔽为 SVG 形状
- java - 通过它们的类型将一个数组拆分为两个数组