futui 发表于 2023-5-25 09:23:10

关于xlwings起数据帧的问题,请大师帮忙,谢谢

关于xlwings起数据帧的问题,请大师帮忙,谢谢

python xlwings excel数据帧从第32行开始整个表格,且要排除4至26列数据,我的代码不取作用,求代码,谢谢

exclude_cols = list(range(4, 27))

df_range = wb.sheets['hy'].range('b32').expand('table').options(pd.DataFrame,headers=True,index=False,exclude=exclude_cols).value

#df_range = wb.sheets['hy'].range('B32').expand('table').options(pd.DataFrame, headers=True, index=False,
                                                      #columns=lambda x: x not in exclude_cols).value

isdkz 发表于 2023-5-25 09:23:44

您好,根据您提供的代码,您可以使用以下代码来排除4至26列数据,从第32行开始整个表格,并将其作为数据帧返回:

import xlwings as xw
import pandas as pd

# 连接Excel应用程序
app = xw.App(visible=False, add_book=False)
# 打开Excel工作簿
wb = app.books.open('your_excel_file_path.xlsx')

# 排除的列
exclude_cols = list(range(4, 27))

# 获取数据帧
df_range = wb.sheets['hy'].range('B32').options(pd.DataFrame, header=1, index=False, expand='table', exclude=exclude_cols).value

# 关闭Excel应用程序
app.quit()


在上述代码中,我们使用了 options 方法来指定数据帧的选项,其中 exclude 参数用于排除指定的列, header 参数用于指定表头所在的行数, index 参数用于指定是否包含行索引, expand 参数用于指定数据的区域,这里我们使用了 table 来表示整个表格。

最后,我们关闭了连接的Excel应用程序。希望这可以帮助到您。
页: [1]
查看完整版本: 关于xlwings起数据帧的问题,请大师帮忙,谢谢