Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python嵌套循环CSV文件_Python_Python 3.x_Csv_Matplotlib - Fatal编程技术网

Python嵌套循环CSV文件

Python嵌套循环CSV文件,python,python-3.x,csv,matplotlib,Python,Python 3.x,Csv,Matplotlib,这段代码只遍历行数一次,我想遍历数据中所有行的列数,我不明白为什么不遍历行7次 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'

这段代码只遍历行数一次,我想遍历数据中所有行的列数,我不明白为什么不遍历行7次

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)

您的代码有一个外循环,它将循环7次,而内循环将在每一行上循环。您需要交换内部和外部循环

对于每一行,在每一列上循环一次

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]))

一旦您读取了文件中的所有行,文件数据将被耗尽,没有任何内容可供读取,因此您的readCsv:for row循环立即终止

如果要重置文件并重新读取,则需要关闭文件并再次打开。

类似问题如下:

循环浏览文件后,需要重置csvfile的读取位置

    csvfile.seek(0)

您希望csv文件中包含哪些数据?行中是否有7个项目?是的,csv包含特定数量的列,恰好7个for循环的顺序错误。您尝试将整个CSV文件读取7次,而不是在每个行的列上循环。我希望对它们进行特定排序,以便可以在3d打印上打印它们。我在想最简单的方法是采用格式[纵向、横向、数据]。在相同的纵向(x)距离和横向位置(y)上,我读取了7个模拟通道,每个通道都有不同的模拟测量值。对原始代码错误的原因进行一些解释会很好(是的,这对我们来说很明显,但他们不会问这对他们来说是否明显),谢谢!在外部for循环的末尾添加了这一行之后,它就如希望的那样工作了。我会100%地提高投票率,但是,我没有必要的声誉(15)来提高投票率。。。