从数据CSV文件中切割每一行

时间:2017-03-30 16:27:36

标签: python csv

我有一个看起来像这样的电影数据集:

case-insensitive

我想只提取最后一部分(类型部分,例如,冒险|动画|儿童|喜剧|幻想)并将它们存储在列表列表<term-option>case-insensitive</term-option>中。但是,我仍然坚持切片步骤。我不知道该怎么做,因为1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy 2,Jumanji (1995),Adventure|Children|Fantasy 3,Grumpier Old Men (1995),Comedy|Romance 4,Waiting to Exhale (1995),Comedy|Drama|Romance 5,Father of the Bride Part II (1995),Comedy 6,Heat (1995),Action|Crime|Thriller 7,Sabrina (1995),Comedy|Romance 8,Tom and Huck (1995),Adventure|Children 没有切片。我使用Python 2.7

[Adventure, Animation, Children, Comedy, Fantasy]

2 个答案:

答案 0 :(得分:2)

MyContext

答案 1 :(得分:2)

您的切片将返回每行的最后一个字符,因为当您以常规方式读取文件时,这些行不会被分割。您应该使用csv模块读取文件,该模块使用','分隔符自动分隔行。然后将结果与|分开。

import csv
with open(path + 'movie.csv') as f:
    reader = csv.reader(f, delimiter=',')
    for row in reader:
        print(row[-1].split('|'))