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