首页 > 解决方案 > 如何访问和操作 csv 文件中的单个元素?

问题描述

我正在尝试对 csv 文件中的某些数据进行一些预处理。该文件包含有关各种拉面的信息。文件中每一行的第三个元素包含一个字符串,该字符串由 1 或 2 到 10 个单词组成。这些词描述了拉面(例如:“Spicy Noodle Chili Garlic Korean”或“Cup Noodles Chicken”等)。

有超过 2,500 条评论,我正在尝试跟踪所有拉面描述中最常用的 100 个词。然后我回顾我的数据,只保留出现在 100 个最常用的单词中的单词。我丢弃其余的。

作为参考,我的标题如下所示:Review #,Brand,Variety,Style,Country,Stars,Top 10

我不太确定如何访问每个描述中的各个单词。通过描述,我指的是“品种”列。作为一种测试方式,我有类似的东西:

reader = csv.reader(open('ramen-ratings.csv', 'r'))
outputfile = open('variety.txt', 'w')

next(reader)

for line in reader:
    for word in line[2]:
        print(word)

但这只会在自己的行上一次打印每个单独的字符。它不是识别字符串中的单个单词,而是识别单个字符。

我知道非常基本的问题,但我对 python 非常陌生,所以可以使用一些帮助。谢谢!

标签: pythonstringcsvsplit

解决方案


代替

for word in line[2]:

利用

for word in line[2].split():

说明:

line[2]是——正如你所写的——一串单词。通过遍历字符串,您可以遍历其各个字符。

.split()另一方面,该方法返回该字符串的单个单词列表(这是您想要的)。


推荐阅读