将csv文件的内容存储到数组中时出错。我的csv文件由两列x值和y值组成。我使用for循环遍历csv文件的文件夹,获取它们的文件名,并将列的内容存储在数组中。我的第一列需要存储在扩展数据[]中,第二列需要存储在ydata[]中。我能够打印文件夹中所有csv文件的文件名。但是,我很难找到将文件内容添加到数组中的逻辑。
我越来越
错误3:权限被拒绝错误。
我还认为我的while循环中存在一个问题。
一旦我得到了这两个数组,我想根据ydata绘制扩展数据的值,并将高斯分布拟合到我的数据中。
import csv
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
from scipy.optimize import curve_fit
from scipy import asarray as ar,exp
import lmfit
from glob import glob
import os
from lmfit import Parameters, minimize, report_fit, Model
import glob
path=r'E:\Users\ConfocalUser\Documents\GitHub\qudi'
location=glob.glob(path+'/*.csv')
### check if the path is correct
xData=[]
yData=[]
While location=True:
with open(path,"r") as f_in:
reader=csv.reader(f_in)
next(reader)
for line in reader:
try:
float_1,float_2=float(line[0]),float(line[1])
xData.append(float_1)
yData.append(float_2)
except ValueError:
continue
1条答案
按热度按时间41ik7eoe1#
最好使用
pandas.read_csv
作用(https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#csv-文本文件)将csv文件直接放入数据框中,您可以使用该数据框打印数据(https://pandas.pydata.org/pandas-docs/stable/getting_started/intro_tutorials/04_plotting.html). 大致如下: