python 对批量excel最后一列再加入一列分别写入特定内容
时间: 2024-10-21 12:04:38 浏览: 24
要在Python中对批量Excel文件的最后一列添加一列并分别写入特定内容,可以使用`pandas`库。以下是一个示例代码:
```python
import pandas as pd
import os
# 定义要添加的内容
content_to_add = "特定内容"
# 获取当前目录下的所有Excel文件
excel_files = [f for f in os.listdir() if f.endswith('.xlsx') or f.endswith('.xls')]
# 遍历所有Excel文件
for file in excel_files:
# 读取Excel文件
df = pd.read_excel(file)
# 在最后一列后添加新列并填充特定内容
df['新列'] = content_to_add
# 保存修改后的Excel文件
df.to_excel(file, index=False)
print("已成功在所有Excel文件的最后一列添加新列并填充特定内容。")
```
这段代码首先导入了`pandas`库和`os`库。然后,它定义了要添加到新列中的特定内容。接下来,它获取当前目录下的所有Excel文件,并遍历这些文件。对于每个文件,它使用`pd.read_excel()`函数读取文件内容到一个DataFrame对象中。然后,它在DataFrame的最后一列后添加一个新列,并用特定内容填充该列。最后,它使用`df.to_excel()`函数将修改后的DataFrame写回到原始文件中。
相关问题
python 使用openpyxl 对批量excel最后一列再加入一列分别写入特定内容
要使用openpyxl在批量Excel文件的最后一列添加一列并分别写入特定内容,你可以按照以下步骤操作:
1. 首先确保已经安装了openpyxl库,如果没有安装,可以使用以下命令安装:
```
pip install openpyxl
```
2. 然后编写一个Python脚本,遍历文件夹中的所有Excel文件,打开每个文件,找到最后一列,并在其后添加一个新列。在新列中写入特定内容。
以下是一个示例代码:
```python
import os
from openpyxl import load_workbook
# 定义要写入的内容
content = "特定内容"
# 遍历文件夹中的所有Excel文件
folder_path = "your_folder_path" # 替换为你的文件夹路径
for file in os.listdir(folder_path):
if file.endswith(".xlsx"):
file_path = os.path.join(folder_path, file)
wb = load_workbook(file_path)
ws = wb.active
# 获取最后一列的列号
last_column = ws.max_column + 1
# 在新列中写入特定内容
for row in range(1, ws.max_row + 1):
ws.cell(row=row, column=last_column, value=content)
# 保存修改后的Excel文件
wb.save(file_path)
```
将上述代码中的`your_folder_path`替换为包含Excel文件的文件夹路径,并根据需要修改`content`变量的值。运行此脚本后,文件夹中的所有Excel文件的最后一列都将添加一个新列,并填充特定内容。
python 批量提取excel部分内容 写入新表
Python是一种强大的编程语言,可以使用它来批量提取Excel表格中的部分内容,并将其写入新表格中。要实现这个功能,需要使用Python中的pandas库来读取和操作Excel文件,同时还需要使用openpyxl库来创建新的Excel表格。
首先,我们需要导入pandas和openpyxl库:
import pandas as pd
from openpyxl import Workbook
接下来,我们需要读取原始Excel表格。假设原始表格的文件名为”original.xlsx”,它包含两列数据:姓名和年龄。我们可以使用pandas的read_excel方法读取这个表格:
df = pd.read_excel('original.xlsx')
我们可以通过以下方式来筛选出某些特定的行或列:
# 筛选出名字包含“Jim”的所有行
jim_rows = df.loc[df['姓名'].str.contains('Jim')]
# 只保留名字和年龄这两列
selected_cols = jim_rows[['姓名', '年龄']]
接下来,我们需要将所选的行和列写入新的Excel表格。我们可以使用openpyxl库来创建一个新的工作簿,并在其中创建一个新的工作表:
wb = Workbook()
ws = wb.active
接下来,我们可以将所选的行和列逐行写入新的工作表中:
# 将列名写入新表格的第一行
ws.append(list(selected_cols.columns))
# 将数据逐行写入新表格
for index, row in selected_cols.iterrows():
ws.append(list(row))
最后,我们可以使用openpyxl库来保存新的Excel表格:
wb.save('selected_data.xlsx')
这样,我们就可以通过Python批量提取Excel表格中的部分内容并将其写入新表格了。
阅读全文