首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CSV文件在python中无法保持打开状态

CSV文件在python中无法保持打开状态
EN

Stack Overflow用户
提问于 2018-07-26 22:03:47
回答 1查看 86关注 0票数 1

使用python 3。在下面的代码中,第二个循环不会打印,不确定原因。

忽略我正在尝试做的事情,要点是文件在第一个循环之后是不可访问的……

有什么想法吗?谢谢!!

Import csv
f = open('table.csv')
csv_f = csv.reader(f)

# Convert data entries to integers
for row in csv_f:
    if row[0]!="A": row[1:len(row)]=list(map(int,row[1:len(row)]))
    print(row)

# Print table again
for row in csv_f:
    print(row)
EN

Stack Overflow用户

回答已采纳

发布于 2018-07-26 22:19:40

您要做的是从以下位置访问数据csv_f这是迭代器-这意味着它只能完全传递一次,然后你必须再次生成它。

您可以将其列在列表中:

csv_f = list(csv.reader(f))

或者在第二次循环之前再次加载文件。

同时,我建议稍微修改一下您的代码:

with open('table.csv') as f:
    csv_f = list(csv.reader(f))

    # Convert data entries to integers
    for row in csv_f:
        if row[0]!="A": 
            row[1:len(row)]=list(map(int,row[1:len(row)]))
        print(row)

    # Print table again
    for row in csv_f:
        print(row)

这样文件就不会在外部保持打开状态with open() as f语句-比使用简单语句更好的实践open()

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51540770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档