我正在尝试遍历csv文件目录。My.csv文件包含2列(x值和y值(。我想循环浏览每个文件,将x和y值存储在一个数组中,并为所有文件绘制x-y图并将其可视化。我已经附加了正在处理的代码,无法生成输出。我的示例csv文件是:
#x0 y0 ###################
#-7.66E-06, 17763###################
#-7.60E-06, 2853#####################
#-7.53E-06..etc, 3694...etc####################
我试过这段代码,但它没有给我预期的结果
import cv
import glob
path=r"E:Users......qudi"
files=glob.glob(path,'*.csv')
data_frame=pd.DataFrame()
xData=[]
yData=[]
for file in files:
#reading the content of the csv file
df=pd.read_csv(file,index_col=None)
content.append(df)
# converting content to data frame
data_frame=pd.concat(content)
print(data_frame)
# with open(path,"r") as f_in:
# reader=csv.reader(f_in)
# next(reader)
# for line in reader:
# try:
# print(line)
# float_1,float_2=float(line[0]),float(line[1])
# xData.append(float_1)
# yData.append(float_2)
# except ValueError:
# continue
任何建议都会有很大帮助。
您可以在每次转换csv文件时通过附加到主df来创建主df,这样您就不需要pd.concat了。您需要首先创建空的主df——您当前的代码尝试附加到内容,而不首先创建内容。
df_main = pd.dataframe()
for file in files:
df=pd.read_csv(file,index_col=None)
df_main = df_main.append(df)
glob函数假定接收1个路径参数。尝试导入os
模块,而不是glob.glob(path,'*.csv')
写入glob.glob(os.path.join(path,'*.csv'))
。还可以尝试打印files
变量,以验证glob函数是否找到了正确的文件,并且结果不会为空。