首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于循环CSV文件的Python嵌套

用于循环CSV文件的Python嵌套
EN

Stack Overflow用户
提问于 2016-07-12 19:29:21
回答 3查看 1.6K关注 0票数 2

这段代码只在我想遍历数据中的列数时遍历所有行时,才会遍历行数,我不明白为什么它不迭代7次。

代码语言:javascript
复制
import  csv
from    mpl_toolkits.mplot3d import axes3d
import  matplotlib.pyplot   as  plt
import  numpy   as  np

sensorData      =   []
longitudinal    =   []
transverse      =   []

n=0
with open('test3.csv') as csvfile:
     readCsv = csv.reader(csvfile, delimiter =',')
     for x in range(0,7):    #problem HERE
         for row in readCsv:
             n+=1
             sensorData.append(float(row[x]))

             longitudinal.append(n)

             transverse.append(x)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-12 19:35:28

类似的问题:Reading from CSVs in Python repeatedly?

遍历文件后,需要重置csvfile的读取位置。

代码语言:javascript
复制
    csvfile.seek(0)
票数 1
EN

Stack Overflow用户

发布于 2016-07-12 19:33:59

您的代码有一个外部循环,它将循环7次,内部循环将遍历每一行。你需要交换内环和外圈。

对于每列上的每一行循环

代码语言:javascript
复制
with open('test3.csv') as csvfile:
     readCsv = csv.reader(csvfile, delimiter =',')
     for row in readCsv:
         for x in range(0,7):
             n+=1
             sensorData.append(float(row[x]))
票数 1
EN

Stack Overflow用户

发布于 2016-07-12 19:35:24

一旦读取了文件中的所有行,文件数据就会耗尽,没有什么可读取的了,因此您的for row in readCsv:循环立即终止。

如果您想重设文件并重新读取它,则需要关闭该文件并再次打开它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38337414

复制
相关文章

相似问题

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