Python,从字符串转换列表的所有条目

2024-09-28 01:33:52 发布

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

我对Python是全新的,正在查找我想做什么的示例。我不确定这个循环有什么问题,我想做的是逐行读取一个csv文件,每行:

  • 用逗号分隔
  • 删除第一个条目(它是一个名称)并将其存储为name
  • 将所有其他条目转换为浮动
  • name和float项存储在我的Community类中

这就是我目前正在尝试的:

class Community:
    num = 0
    def __init__(self, inName, inVertices):
        self.name = inName
        self.vertices = inVertices
        Community.num += 1

allCommunities = []
f = open("communityAreas.csv")
for i, line in enumerate(f):
    entries = line.split(',')
    name = entries.pop(0)
    for j, vertex in entries: entries[j] = float(vertex)

    print name+", "+entries[0]+", "+str(type(entries[0]))

    allCommunities.append(Community(name, entries))
f.close()

我得到的错误是:

^{pr2}$

值得指出的是,它运行在omegalib中,这是一个运行在C语言中并解释Python的可视化集群库。在


Tags: csvnameincommunityselfforline条目
3条回答

我想您忘了第86行的enumerate()函数;应该是

for j, vertex in enumerate(entries): entries[j] = float(vertex)

如果总是有一个名称,然后是一个可变数量的浮点值,那么听起来您需要拆分两次:第一次是maxplit为1,另一次是尽可能多次。示例:

name, float_values = line.split(',',1)
float_values = [float(x) for x in float_values.split(',')]

我可能不太确定您希望在这里实现什么,但是将entries中的所有元素转换为float,这还不够吗?:第86行:

entries=map(float, entries)

相关问题 更多 >

    热门问题