Python 将数据帧字典合并为一个数据帧
我正在寻找一种解决方案,将字典中的所有数据帧放入一个巨大的数据帧中。我对Python比较陌生,因此我无法理解如何迭代字典并将所有数据帧放入1。到目前为止,我已经实现的代码如下:Python 将数据帧字典合并为一个数据帧,python,pandas,dictionary,Python,Pandas,Dictionary,我正在寻找一种解决方案,将字典中的所有数据帧放入一个巨大的数据帧中。我对Python比较陌生,因此我无法理解如何迭代字典并将所有数据帧放入1。到目前为止,我已经实现的代码如下: import sys from ftplib import FTP import os import socket import time import pandas as pd import numpy as np from glob import glob path = 'path_to_file' files
import sys
from ftplib import FTP
import os
import socket
import time
import pandas as pd
import numpy as np
from glob import glob
path = 'path_to_file'
files = glob(path + '/*Mail*.xlsx')
print files
get_df = lambda f: pd.read_excel(f, sheetname=None)
dodf = {f: get_df(f) for f in files} ### dictionary of dataframes
现在,我需要将所有不同的数据帧放入一个数据帧中,然后对其执行操作。如有任何建议,将不胜感激
我试过这个
for df in dodf:
pd.concat(dodf.values(), ignore_index=True)
但它似乎不起作用。我认为需要对dict进行理解:
dodf = {f: pd.read_excel(f, sheet_name=None) for f in files}
df = pd.concat([pd.concat(v) for k,v in dodf.items()])
我认为有必要对dict进行理解:
dodf = {f: pd.read_excel(f, sheet_name=None) for f in files}
df = pd.concat([pd.concat(v) for k,v in dodf.items()])
这行吗?
它还取决于concat是按列还是按行
这行吗?
这还取决于concat是按列还是按行…已经尝试过了,但它一直给出一个错误:“无法连接非NDFrame对象”很有帮助;)天气真好
sheetname
现在是sheet\u name
根据文档:我在自己的数据帧字典上尝试了这个方法,得到了这个错误:TypeError:第一个参数必须是pandas对象的一个iterable,您传递了一个类型为“DataFrame”的对象
@MyCarta-有sheet\u name=None
?它用于获取数据帧的orderdict中的所有sheetnames。已尝试过此操作,但不断出现错误:“无法连接非NDFrame对象”高兴可以帮助;)天气真好sheetname
现在是sheet\u name
根据文档:我在自己的数据帧字典上尝试了这个方法,得到了这个错误:TypeError:第一个参数必须是pandas对象的一个iterable,您传递了一个类型为“DataFrame”的对象
@MyCarta-有sheet\u name=None
?它用于获取数据帧的orderdict中的所有SheetName。