在Python

时间:2017-11-14 23:08:12

标签: python string list data-structures while-loop

在Keywords.txt中,我有这些词及其'值':

alone,1

amazed,10

amazing,10

bad,1

best,10

better,7

excellent,10

这些是我需要存储在数据结构,列表中的一些关键字及其“值”。每行后来将用于访问/提取单词及其“值”。

我在while循环中创建的列表是:

line = KeywordFile.readline()

while line != '':

   line=KeywordFile.readline()
   line = line.rstrip()

我尝试将其转换为列表形式:

   list=[line]

但是,当我打印列表时,我明白了:

['amazed,10']
['amazing,10']
['bad,1']
['best,10']
['better,7']
['excellent,10']

我不认为如果它们在引号内,我就能从列表中提取我的'值'。

我希望以这种格式获取列表:

['amazed',10]
['amazing',10]
['bad',1]

提前致谢!

2 个答案:

答案 0 :(得分:0)

您希望根据字符串分隔符','将行拆分为列表。

list = line.split(',')

然后,您希望将每个列表中的第二个值转换为int。

list[1] = int(list[1])

答案 1 :(得分:0)

将行amazed,10放入sample.csv

    import csv

    with open('sample.csv') as csvfile:
        inputs = csv.reader(csvfile, delimiter=',')
        for row in inputs:
            row = [int(x) if x.isdigit() else x for x in row]  # convert numerical string to int which would remove quotes
            print(row)

输出:

['amazed', 10]