遍历 csv 文件目录并将列存储在数组中

Iterating through a directory of csv files and storing the columns in an array

我正在尝试遍历 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 

任何建议都会大有帮助。

glob 函数假设接收 1 个路径参数。尝试导入 os 模块,而不是 glob.glob(path,'*.csv') 写入 glob.glob(os.path.join(path,'*.csv'))。还尝试打印 files 变量以验证 glob 函数是否找到正确的文件并且结果不为空。

您可以通过在每次转换 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)