re2 = map(name_sheet, ~ read.xlsx("../re_hebing.xlsx",sheet=.))修改这句代码,每个子表格的列名变成,"name","gene","blbl","alal","character","binding","clcl"
时间: 2023-11-28 14:05:14 浏览: 70
修改代码如下:
```R
re2 <- map(name_sheet, ~ read.xlsx("../re_hebing.xlsx", sheet = .)) %>%
set_names(list_name) %>%
map(~ set_names(., c("name", "gene", "blbl", "alal", "character", "binding", "clcl")))
```
这段代码将Excel文件中的每个子表格的列名修改为"name", "gene", "blbl", "alal", "character", "binding", "clcl"。其中,`set_names()`函数用于设置列名,`map()`函数用于对每个子表格进行操作,`set_names()`函数中的参数为新的列名。最终,`re2`变量将包含修改后的子表格数据。
相关问题
代码增加填充单元格后合并Sheet表:import openpyxl # 读取存贷款数据.xlsx workbook = openpyxl.load_workbook('存贷款数据.xlsx') # 遍历每个Sheet表,并将Sheet表名写入到每行N列的单元格 for sheet_name in workbook.sheetnames: sheet = workbook[sheet_name] max_row = sheet.max_row max_column = sheet.max_column for row in range(3, max_row): for column in range(1, max_column + 1): if column == max_column: sheet.cell(row=row, column=column+1).value = sheet_name else: sheet.cell(row=row, column=column).value = sheet.cell(row=row, column=column).value # 保存新的工作簿 workbook.save('存贷款数据(新).xlsx')
好的,以下是增加填充单元格后合并Sheet表的示例代码:
```python
import pandas as pd
import openpyxl
# 读取Excel文件
workbook = openpyxl.load_workbook('存贷款数据.xlsx')
# 遍历每个Sheet表,并将Sheet表名写入到每行N列的单元格
for sheet_name in workbook.sheetnames:
sheet = workbook[sheet_name]
max_row = sheet.max_row
max_column = sheet.max_column
for row in range(3, max_row):
for column in range(1, max_column + 1):
if column == max_column:
sheet.cell(row=row, column=column+1).value = sheet_name
else:
sheet.cell(row=row, column=column).value = sheet.cell(row=row, column=column).value
# 保存新的工作簿
workbook.save('存贷款数据(新).xlsx')
# 获取所有Sheet表名
file = pd.ExcelFile('存贷款数据(新).xlsx')
sheet_names = file.sheet_names
# 合并所有Sheet表
df_merged = pd.concat([file.parse(sheet) for sheet in sheet_names])
# 将合并后的数据保存到新的Excel文件中
df_merged.to_excel('merged.xlsx', index=False)
```
在上面的示例中,我们增加了使用openpyxl库来填充单元格的代码。首先,我们使用load_workbook函数读取Excel文件,并遍历每个Sheet表。然后,我们使用max_row和max_column属性获取Sheet表的行数和列数,使用cell函数访问和修改单元格的值。注意,我们使用了worksheet.cell()函数而不是worksheet[row][column]来访问单元格,因为后者在openpyxl中已经被弃用。接下来,我们使用concat函数来合并所有Sheet表,并将合并后的数据保存到新的Excel文件中。请确保您已经安装了Pandas和openpyxl库,并且将存贷款数据.xlsx文件放在当前工作目录中。
简化代码:import pandas as pd import openpyxl # 读取Excel文件 workbook = openpyxl.load_workbook('存贷款数据.xlsx') # 遍历每个Sheet表,并将Sheet表名写入到每行N列的单元格 for sheet_name in workbook.sheetnames: sheet = workbook[sheet_name] max_row = sheet.max_row max_column = sheet.max_column for row in range(3, max_row): for column in range(1, max_column + 1): if column == max_column: sheet.cell(row=row, column=column + 1).value = sheet_name else: sheet.cell(row=row, column=column).value = sheet.cell(row=row, column=column).value # 保存新的工作簿 workbook.save('存贷款数据(新).xlsx') # 获取所有Sheet表名 file = pd.ExcelFile('存贷款数据(新).xlsx') sheet_names = file.sheet_names # 合并所有Sheet表 df_merged = pd.concat([file.parse(sheet) for sheet in sheet_names]) # 将合并后的数据保存到新的Excel文件中 df_merged.to_excel('merged.xlsx', index=False)
import pandas as pd
# 读取Excel文件
workbook = pd.read_excel('存贷款数据.xlsx', sheet_name=None)
# 将每个Sheet表名写入到每行N列的单元格
for sheet_name, sheet in workbook.items():
sheet.loc[3:, max(sheet.columns) + 1] = sheet_name
# 合并所有Sheet表
df_merged = pd.concat(workbook.values())
# 将合并后的数据保存到新的Excel文件中
df_merged.to_excel('merged.xlsx', index=False)
阅读全文