读取a2.xlsx文件,调用LSR函数,计算各个企业的LSR值,追加LSR储存进a2.xlsx文件
时间: 2024-03-07 14:52:14 浏览: 93
以下是示例代码,可以读取 a2.xlsx 文件,调用 LSR 函数计算各个企业的 LSR 值,并将 LSR 值追加到 a2.xlsx 文件中。
```python
import pandas as pd
# 定义国有企业的实际控制人性质列表
STATE_OWNED_TYPES = ['1100', '2000', '2100', '2120']
# 定义国有企业和非国有企业的 LSR 求取函数
def get_lsr(row):
if row['实际控制人性质'] in STATE_OWNED_TYPES:
return row['短期负债'] + 0.5 * row['长期负债']
else:
return row['短期负债'] + 0.4 * row['长期负债']
# 读取 a2.xlsx 文件
df = pd.read_excel('a2.xlsx')
# 计算 LSR 值
df['LSR'] = df.apply(get_lsr, axis=1)
# 追加 LSR 列到 a2.xlsx 文件中
with pd.ExcelWriter('a2.xlsx', engine='openpyxl', mode='a') as writer:
writer.book = load_workbook('a2.xlsx')
writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets)
df.to_excel(writer, sheet_name='Sheet1', index=False, startrow=1, header=False, columns=['股票代码', '年份', '实际控制人性质', '行业代码', 'LSR'])
```
以上代码中,我们先定义了国有企业的实际控制人性质列表和 LSR 求取函数。接着,我们读取 a2.xlsx 文件,计算 LSR 值,并将 LSR 列追加到 a2.xlsx 文件中。由于我们是追加数据,所以需要指定 mode='a'。同时,我们使用 openpyxl 库的 load_workbook 方法来加载 a2.xlsx 文件,这样可以保留文件中原有的格式和样式。
需要注意的是,上述代码仅供参考,具体实现还需要根据数据的实际情况进行调整。
阅读全文