Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将()应用于Excel文件每个数据帧的每一列,如_Python_Pandas_Dataframe - Fatal编程技术网

Python 将()应用于Excel文件每个数据帧的每一列,如

Python 将()应用于Excel文件每个数据帧的每一列,如,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个包含多个工作表的xlsx文件 我在工作表中阅读并将其分为数据框: xls=pd.ExcelFile('path/to/multisheet_excelfile.xlsx') dfs={sheet: pd.read_excel(xls,sheet) for i, sheet in enumerate(xls.sheet_names)} 我遍历数据帧,然后遍历行,以应用: 有没有更好的方法来实现这一点,可能不涉及双for循环?没有循环就无法实现,因为pandas从工作表创建数据框。但您可以

我有一个包含多个工作表的xlsx文件

我在工作表中阅读并将其分为数据框:

xls=pd.ExcelFile('path/to/multisheet_excelfile.xlsx')
dfs={sheet: pd.read_excel(xls,sheet) for i, sheet in enumerate(xls.sheet_names)}
我遍历数据帧,然后遍历行,以应用:


有没有更好的方法来实现这一点,可能不涉及双for循环?

没有循环就无法实现,因为
pandas
工作表
创建
数据框
。但您可以在1个循环中完成:

# {'sheet_name1': df1, 'sheet_name2': df2, ...}
dfs = pd.read_excel(xls, sheet_name=pd.ExcelFile('file_path').sheet_names)  # type: dict
dfs = {
    sheet_name: df.applymap(lambda x: re.sub("[\[].*?[\]]", "", repr(x))
    for sheet_name, df in dfs.items()
}
# {'sheet_name1': df1, 'sheet_name2': df2, ...}
dfs = pd.read_excel(xls, sheet_name=pd.ExcelFile('file_path').sheet_names)  # type: dict
dfs = {
    sheet_name: df.applymap(lambda x: re.sub("[\[].*?[\]]", "", repr(x))
    for sheet_name, df in dfs.items()
}