选择文件,将excel内的全部sheet合并在同一个sheet内,在首列添加该行数据来自于哪一个sheet,并保存为新文件命名为"总台账"
时间: 2023-05-17 10:02:38 浏览: 39
你可以使用Python中的pandas库来实现这个功能。以下是实现该功能的代码:
```python
import pandas as pd
# 读取所有sheet的数据
excel_file = pd.ExcelFile('your_file_name.xlsx')
all_data = pd.DataFrame()
for sheet_name in excel_file.sheet_names:
data = pd.read_excel(excel_file, sheet_name)
data['Sheet Name'] = sheet_name
all_data = all_data.append(data, ignore_index=True)
# 将所有数据保存到新文件中
writer = pd.ExcelWriter('总台账.xlsx')
all_data.to_excel(writer, index=False)
writer.save()
```
这个代码会将所有sheet的数据读取到一个DataFrame中,并在每行数据的首列添加该行数据来自于哪一个sheet的信息。最后,将所有数据保存到一个新的Excel文件中,文件名为"总台账.xlsx"。
相关问题
将excel内的全部sheet合并在同一个sheet内,在首列添加该行数据来自于哪一个sheet,并保存为新文件命名为"总台账"
你可以使用Python中的pandas库来实现这个功能。以下是一个示例代码:
```python
import pandas as pd
# 读取所有sheet
excel_file = pd.ExcelFile('your_excel_file.xlsx')
all_sheets = pd.read_excel(excel_file, sheet_name=None)
# 合并所有sheet
merged_df = pd.concat(all_sheets, ignore_index=True)
# 添加来源信息
merged_df['来源'] = merged_df['sheet_name']
# 保存为新文件
merged_df.to_excel('总台账.xlsx', index=False)
```
请注意,这只是一个示例代码,你需要根据你的具体情况进行修改。
python对1.xlsx中C列数据切出前两个数字,将数字新增一列插入原sheet
可以使用Python中的openpyxl库来读取和写入Excel文件,并使用字符串切片来获取列中数据的前两个数字。
以下是示例代码:
```python
import openpyxl
# 读取Excel文件
workbook = openpyxl.load_workbook('1.xlsx')
# 获取Sheet
sheet = workbook.active
# 遍历每个单元格
for row in sheet.iter_rows(min_row=2, min_col=3):
# 获取单元格中的值并取前两个数字
value = str(row[0].value)[:2]
# 在当前行插入新列并写入新值
row[0].offset(column=1).value = value
# 保存Excel文件
workbook.save('1.xlsx')
```
这段代码将在1.xlsx中的Sheet中读取从第2行开始的每行的C列数据,并将其前两个数字添加到该行的新列中。最后,将修改后的Excel文件保存回1.xlsx。注意,此代码假定C列中的值都是数字。如果C列中包含其他类型的值,代码将失败。