Python嵌套循环CSV文件
这段代码只遍历行数一次,我想遍历数据中所有行的列数,我不明白为什么不遍历行7次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'
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)来提高投票率。。。