打开csv文件,删除名称中包含单词的列,保存在新的csv文件Python中
我有一个csv文件。在该文件中,有许多列的名称为: 值\编号、物种\名称、颜色\名称、未命名:1等 如何使用pandas实现python脚本:打开csv文件,搜索包含unnamed一词的列,然后删除它们,并将清理后的csv保存为具有更新名称的新csv 以下是脚本:打开csv文件,删除名称中包含单词的列,保存在新的csv文件Python中,python,python-3.x,pandas,csv,scikit-learn,Python,Python 3.x,Pandas,Csv,Scikit Learn,我有一个csv文件。在该文件中,有许多列的名称为: 值\编号、物种\名称、颜色\名称、未命名:1等 如何使用pandas实现python脚本:打开csv文件,搜索包含unnamed一词的列,然后删除它们,并将清理后的csv保存为具有更新名称的新csv 以下是脚本: import os, glob import pandas as pd path= "/home/CaptainSnake/Desktop/Test_class/class_data" all_files
import os, glob
import pandas as pd
path= "/home/CaptainSnake/Desktop/Test_class/class_data"
all_files = glob.glob(os.path.join(path, "Classification_testData_*.csv"))
df_from_each_file = (pd.read_csv(f, sep=',') for f in all_files)
df_merged = pd.concat(df_from_each_file, ignore_index=False, sort=False)
df_merged.columns
df_merged.columns.str.match('Unnamed')
df_merged.loc[:, ~df_merged.columns.str.match('Unnamed')]
df_merged.to_csv( "Classification_testData_cleaned.csv")
特别是,此脚本将所有csv与特定名称合并…然后它将从unnamed:etc中清除新csv。这将删除所有以“unnamed”开头的列:
filtered_cols = [i for i in df.columns if not i.startswith("Unnamed")]
df[filtered_cols].to_csv('filename.csv')
请提供输入csv的示例以及所需的输出。另外,请添加您为解决此问题所做的任何尝试。@Rishin抱歉..我更新了问题…然后错误地删除了:(亲爱的@Rishin非常温和,回答很好。还有一点疑问。如果我想删除两种类型?那么未命名和没有名称的列?我该怎么做?@TforV使用此筛选的\u cols=[i代表df.columns中的i,如果不是i.startswith(“未命名”)和len(i)>0]。这也将删除空列名