我有一个CSV文件,我试图提取并分解成部分内容。它10列。我当前的脚本(其中一行如下所示)要求用户输入两列(比如列A和C)并从第三列(列F)获取数据,并将列A和F写入新的CSV文件。
df1 = data.columnF[(data['columnA'] == data_name) & (data['columnC'] == study_name)]
当前输出如下所示:
name1,study1
name1,study2
name1,study2
name5,study9
name6,study6
name6,study0
相反,我希望输出是多个文本文件(通过跳过将所有内容写入CSV文件然后将其分成块的步骤)。
File 'name1.txt' should have
study1
study2 (only once, without repetition)
同样,
name5.txt > study9
name6.txt > study6
study0
我该怎么做?
答案 0 :(得分:3)
使用groupby
并在每个组中循环:
df_grouped = data.columnF[(data['columnA'] == data_name) & (data['columnC'] == study_name)].drop_duplicates().groupby('columnA')
for index, group in df_grouped:
group.to_csv(index + '.text')