如何一次写入多个csv行?

时间:2019-12-24 08:40:41

标签: python pandas csv

我有一个具有以下结构的csv文件:

Name  Shares  Platform
John  100     Facebook
David 200     Facebook 
Allen 300     Twitter
Maria 10      Instagram

我想创建一个新文件,其中将基于共享数为每个名称和平台提供行数。 例如,对于John,我将有100行,其中包括John和Facebook。

如何使用Python做到这一点?

1 个答案:

答案 0 :(得分:2)

我相信您需要按列Shares的值重复行:

df = pd.read_csv(file)

df = df.loc[df.index.repeat(df['Shares']), ['Name','Platform']].reset_index(drop=True)
print (df)
      Name   Platform
0     John   Facebook
1     John   Facebook
2     John   Facebook
3     John   Facebook
4     John   Facebook
..     ...        ...
605  Maria  Instagram
606  Maria  Instagram
607  Maria  Instagram
608  Maria  Instagram
609  Maria  Instagram

[610 rows x 2 columns]

df.to_csv(file1, index=False)