我是Python初学者,我想知道是否可以将循环生成的多个dataframes
存储到列表中。
不幸的是,我没有可重复的例子。我想做的是读取pdf文件目录,将第0行放入标题中,放下该行并将其存储在列表中的dataframe
中。
master_df= []
for i in range(1, len(pdffiles)):
df = read_pdf(pdffiles[i])
df.columns = df.iloc[0,] #get col names
df = df.reindex(df.index.drop(0)) #drop first row
df = df.replace(np.nan, '', regex=True, inplace = True)
master_df = df
这是我的代码,但是我在df.columns, reindex
和replace
遇到此错误。
AttributeError:'NoneType'对象没有属性'replace'
有人能指出我正确的方向吗?
更新:
请问为什么下面的代码不起作用?当数据框未设置为“无”时,我尝试解析为continue
。
master_df = []
for i in range(len(pdffiles)):
df = read_pdf(pdffiles[i])
if df is not None:
continue
df.columns = df.iloc[0,:] # get col names
df = df.reindex(df.index.drop(0)) # drop first row
df = df.fillna('')
master_df.append(df)
答案 0 :(得分:1)
可以在列表中存储数据帧:
master_df = []
for i in range(len(pdffiles)):
df = read_pdf(pdffiles[i])
df.columns = df.iloc[0,:] # get col names
df = df.reindex(df.index.drop(0)) # drop first row
df = df.fillna('')
master_df.append(df)
您可以使用df.fillna()
将NaN
的值替换为''
。