以下代码产生2\n 4\n 6\n 8\n
with open('test.csv','r')as document:
for line in document:
line=line.split(',')
for item in line:
item=item.replace('\n','')
item=int(item)*2
print(item)
然而,当我尝试使用它作为一个函数如下,结果只有2。你知道吗
def results():
with open('test.csv','r')as document:
for line in document:
line=line.split(',')
for item in line:
item=item.replace('\n','')
item=int(item)*2
return item
print(results())
大概这只是运行函数一次。如何在文档长度内运行函数?谢谢。你知道吗
您没有正确地迭代文件的行。下面的代码将读取一个cvs文件并返回一个数组,每个数组的值都是平方。例如,如果输入文件看起来像:
输出为:
参见示例:
请注意,在对行进行排序之前,我们读取并拆分了输入文件,并为每行创建了一个结果数组,同时为整个表创建了一个数组,并将每行的数组附加到该数组中。你知道吗
不知道这是否正是你想做的,但你张贴的看起来很奇怪。。。你知道吗
你需要创建一个列表来附加你的项目。您的函数只在每个循环中运行一次,因为您在第一次迭代时
return
。你知道吗或者您可以保持相同的逻辑并使用
yield
创建生成器:注意,后一个示例在清理生成器之前保持文件打开。你知道吗
相关问题 更多 >
编程相关推荐