首页 > 解决方案 > 当我使用多重选择(easygui)选择多个行名时,不清楚如何将整个行发送到同一个 csv(附加)。单打效果不错

问题描述

import pandas as pd
from easygui import *

df = pd.read_csv('allfoods.csv')

choices = ["Egg", "Milk" ]

choice = multchoicebox(msg, title, choices)

if choice == "Egg" :

  df2 =  df[df.Food=="Egg"].head()
  print (df2)

  df2.to_csv('outfile.csv', encoding='utf-8', index=False, header=False)


if choice == "Milk" :

  df3 =  df[df.Food=="Milk"].head()
  print (df3)

  df3.to_csv('outfile.csv', encoding='utf-8', index=False, header=False)

else: pass

标签: pythonpandascsvdataframeeasygui

解决方案


看起来下面的更改修复了它。

选择 = multchoicebox(msg, 标题, 选择) print ("回复是: %s" % str(choice))

对于我在范围内(len(选择)):

print (choice[i]) df1 = df[df.Food==choice[i]].head() print (df1)

df1.to_csv('outfile.csv', encoding='utf-8', index=False, mode='a', header=False)


推荐阅读