Python Pandas将列转换为数据帧

时间:2016-12-02 02:36:57

标签: python csv pandas

我一直在电子邮件中列出每个项目的换行符,我想要做的只是复制和粘贴,然后保存为csv并让脚本从数据中创建一个python列表。因为它是从粘贴到文件的列我得到了不正确的格式化,如果我改变我在逗号的换行符上做替换它看起来好一点但仍然因为它从列转换它不正确并且使用mylist.values .tolist()它仍然无法正常工作。这就是我拥有的和正在发生的事情。我可以使用内置的csv库来做这件事但是想知道如何在p

中做到这一点

我正在粘贴的电子邮件格式:

福克斯 鸡 猫 狗

当我输入csv并输入逗号时:

福克斯 鸡, 猫, 狗

我得到的是输出:

  
    
      

mylist.values.tolist()

    
  
[['Fox, nan'], ['Chicken, nan'], ['Cat, nan'], ['Dog, nan']]

我只想:

['Fox','Chicken', 'Cat', 'Dog']

此外,如果我尝试分配my_list = mylist.values.tolist(),我会得到一个例外,即不支持的操作数'str'和'type'。

任何帮助都会受到赞赏,因为我喜欢pandas而不是内置,如果不可能优雅,我将不得不回去。

2 个答案:

答案 0 :(得分:1)

如果您的输出为[['Fox', nan], ['Chicken', nan], ['Cat', nan], ['Dog', nan]](我相信它是),那么您可以将列表解压缩为两部分:

names,nans=zip(*mylist.values.tolist()) 
# both names and nuns are tuples
names = list(names)

答案 1 :(得分:0)

尝试:

slist = mylist.values.tolist()
ilist = [l[0].split(',')[0].strip() for l in slist]