需求:读取Fund_List_New.csv文件,根据基金类型字段去重,生成不同的csv文件
1.读取csv文件内容时代码为df=pd.read_csv(f,keep_default_na=False, dtype=str),如果不加 keep_default_na=False 参数,读取的空值在list中是'nan'值,此处添加keep_default_na=False 参数,读取的空值为'';
2.数组去重函数:list_df1 = set(df1)
3.可通过str进行类型转换判断,①判断nan值并将其转换其他值,放于数组之中,后续用''进行后续处理:
for i in list:
if(str(i) == 'nan')
i = ''
break
② 判断nan值直接进行后续处理:
for i in list:
if(str(i) == 'nan'):
实现代码如下:
# 打开文件 f = open('Fund_List_New.csv') # 读取csv文件 df=pd.read_csv(f,keep_default_na=False, dtype=str) # 获取基金类型列所有值 df1 = df['基金类型'] # 对获取到的基金类型值去重 list_df1 = set(df1) # 遍历基金类型数组 for i in list_df1: # 输出模板格式 df_id_name = df[['基金代码', '基金名称', '基金类型']] # 输出基金类型内容 df_id_name =df_id_name[df_id_name['基金类型'].isin([i])] # 生成对应csv文件 df_id_name.to_csv('Fund_List_'+i+'.csv',header=True,encoding ='gbk',index=False)