我有10000多个文件的文件夹,其中包含10个变量(X1,X2,…,X10)的数据。你知道吗
文件名只是File1.json、File2.json等
我需要为每个变量创建一个数据帧,即10个数据帧。你知道吗
输入
所需输出
我正在做以下工作
for i in range(0, len(VARIABLES)):
%reset_selective -f "^DATA$"
DATA=pd.DataFrame()
Data_name=VARIABLES[i]
print(Data_name)
for ii in range(0, len(FILES)):
file_name1='Directory/'
file_name2= FILES[ii]
file_name=file_name1+file_name2
with open(file_name, 'r') as fer:
data1 = json.load(fer)
df = pd.DataFrame({'count': data1})
Var_namei=df['count']['consistname']
if Var_namei==Data_name:
#create Dataframe
对于第一个变量,代码运行良好,因为我不知道哪些文件包含X1的数据。你知道吗
但是,从第二次迭代开始,没有必要重新打开每个文件来查找X2的数据。 同样,当我到达最后一次迭代时,我应该只打开X10的文件。
我希望避免打开/考虑其数据已被用作数据帧输入的文件,例如File2包含X1的值,因此我不想在查找X2、X3等值时再次打开File2
我试着补充
k.iloc[ii,i]= ii
其中k是if条件之后大小为零的数据帧(文件,变量),以便在变量i的文件ii打开时在i列和ii行中放置1。这样,我就可以在下一次迭代中跳过这样的ii行文件。 但是,在for循环期间,我无法访问k值。你知道吗
有什么建议吗? 谢谢
欢迎来到SO。如果重构一点,你的代码会简单得多。你知道吗
第一个循环遍历所有文件一次,并将对应于
[X1, X2, ..., X10]
变量的数据保存到字典FileDATA
。然后可以循环处理变量来处理数据。你知道吗删除不必要的行之后
相关问题 更多 >
编程相关推荐