首页 > 解决方案 > python 2.7重命名列表中的值

问题描述

当导入几个 csv 并将其保存在一个数组中时,导入的所有文件的名称都是q=[Dataframe, Dataframe,Dataframe,Dataframe,Dataframe,Dataframe,Dataframe,Dataframe],我想使用类似文件的名称来更改名称。

files_array_Q = []
files_array_F = []
files_array_MRG =[]

for files in files_import_Q :
    qs_matrix = pd.read_csv(files, delimiter=" ", header=None)
    files_array_Q.append(qs_matrix)

for files in files_import_F :
    in_fam = pd.read_csv(files, delimiter=" ", header=None)
    files_array_F.append(in_fam)

例如读取具有名称的文件file1.Q file2.Q file3.Q files4.Q

数组内 files_array_Q = [files1, file2, files3, file4]

标签: pythonpandasimport

解决方案


您可以使用Pandas 字符串拆分功能。此解决方案假定文件名没有多余的句点。

q_list = pd.DataFrame(['file1.Q', 'file2.Q', 'file3.Q'], columns=['files'])

# split into file, type
q_split = pd.DataFrame(q.files.str.split('.',1).tolist())

# now get only the first column:
q_name_only = q_split[q_split.columns[0]]

您可以使用 Pandas iloc将这两个步骤合并为一行,以按整数位置选择列:

q_name_only = pd.DataFrame(q_list.files.str.split('.',1).tolist()).iloc[:,0]

推荐阅读