在Python中以正确的方式存储数据

2024-09-27 21:25:08 发布

您现在位置:Python中文网/ 问答频道 /正文

在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]

提前谢谢


Tags: txt数据结构列表readlinelinebestbadbetter
2条回答

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

list = line.split(',')

然后要将每个列表中的第二个值转换为int

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

将行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]

相关问题 更多 >

    热门问题