import pandas as pd
def pd_to_excel(data_dict: dict, dir_: str) -> bool:
"""
将多个DataFrame写入Excel文件的不同工作表
Args:
data_dict (dict): 包含要写入的数据的字典,键为工作表名称,值为DataFrame
dir_ (str): Excel文件路径
Returns:
bool: 写入成功返回True,否则返回False
"""
engine_kwargs = {'options': {'nan_inf_to_errors': True, 'strings_to_urls': False}}
# 检查data_dict是否为空
if data_dict:
with pd.ExcelWriter(dir_, engine='xlsxwriter', engine_kwargs=engine_kwargs) as writer:
for sheet_name, data in data_dict.items():
if len(data) > 0:
data.to_excel(writer, index=False, sheet_name=sheet_name)
else:
print(f"DataFrame for sheet '{sheet_name}' is empty. Skipping.")
return True
else:
print("No data provided to write to Excel.")
return False
# 示例用法
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})
data_dict = {
'Sheet1': df1,
'Sheet2': df2
}
excel_file = 'output.xlsx'
pd_to_excel(data_dict, excel_file)