如何在Python中附加列表索引
请帮忙,我找不到 为什么我可以追加如何在Python中附加列表索引,python,csv,indexing,append,row,Python,Csv,Indexing,Append,Row,请帮忙,我找不到 为什么我可以追加行,但不能追加行[2]?它崩溃了。我正在使用Python 3.4.3 import csv with open("file.csv", encoding="UTF8") as csvfile: read = csv.reader(csvfile, delimiter=";") original = [] for row in read: original.append(row[2]) csvfile.close(
行
,但不能追加行[2]
?它崩溃了。我正在使用Python 3.4.3
import csv
with open("file.csv", encoding="UTF8") as csvfile:
read = csv.reader(csvfile, delimiter=";")
original = []
for row in read:
original.append(row[2])
csvfile.close()
print(original)
谢谢这看起来是一次令人沮丧的调试体验 一种可能性是,文件中的最后一行只有一项导致问题 快速查看情况的一种方法(取决于文件的长度)可能是逐行打印并查看发生了什么:
for row in read:
try:
original.append(row[2])
except:
print(row)
如果你用这个运行,你可能会看到在崩溃之前发生了什么
你可能想更详细地描述一下事故是什么。用这样一个模糊的描述来帮助别人是出了名的困难。多做一点努力将有助于人们更有效地帮助您。我建议您不要尝试在最后打印整个CSV列表,这可能会导致某些IDE锁定很长时间 相反,您可以只打印最后几个条目来证明它有效:
print("Rows read:", len(original)
print(original[-10:])
也许
行
包含的元素少于三个?凯文可能知道一些事情。如果不看到崩溃中的错误消息,就很难调试崩溃。如何判断它崩溃了?:)坠机后的错误回溯是什么?顺便说一句,只是一个提示。无需显式关闭文件-它将由上下文管理器关闭-删除csvfile.close()
line.Thank。它会冻结,占用大约60%的CPU。试过你写的东西,问题是打印(原始)部分,附加似乎工作得很好。也许名单太长了?大约1400件。但是如果我只追加一行代码就行了。我调整了代码。它现在应该只在失败时打印。冻结确实表明某个地方有内存泄漏……是的,就是这样。(1408)谢谢你!:-)