Python代码将多个个Excel表格新增一列是Excel名中()内的内容命名为时间
时间: 2024-02-13 16:01:44 浏览: 83
以下是一个Python代码示例,可以实现您的需求。
```python
import os
import pandas as pd
# 设置工作目录
work_dir = 'your/work/dir'
os.chdir(work_dir)
# 获取所有Excel文件名
file_names = [f for f in os.listdir() if f.endswith('.xlsx')]
# 定义函数,用于解析文件名中的时间
def parse_time(file_name):
time_str = file_name.split('(')[-1].split(')')[0]
return pd.to_datetime(time_str)
# 循环遍历Excel文件,对每个文件新增一列时间
for file_name in file_names:
df = pd.read_excel(file_name)
time = parse_time(file_name)
df['时间'] = time
df.to_excel(file_name, index=False)
```
这段代码会遍历工作目录下的所有Excel文件,对每个文件新增一列时间,并将时间值从文件名中解析出来。新的时间列将被添加到每个Excel文件的末尾,并且原始的Excel文件将被覆盖。注意,在解析时间值之前,需要先将其转换为pandas的datetime对象,以便后续的时间计算和处理。
相关问题
Python代码将多个个Excel表格按照地区名称对企业名称进行分类,并且新增一列是Excel名中()内的内容命名为时间,并且按照各个地区名称生成新Excel
好的,我可以为您提供一段Python代码来实现这个需求。首先,您需要安装pandas和openpyxl库。
以下是代码示例:
```python
import os
import pandas as pd
# 设置工作目录
work_dir = 'your/work/dir'
os.chdir(work_dir)
# 获取所有Excel文件名
file_names = [f for f in os.listdir() if f.endswith('.xlsx')]
# 定义分类函数
def classify(file_name):
region_name = file_name.split('(')[0] # 地区名称为文件名中'('之前的部分
df = pd.read_excel(file_name)
df['时间'] = file_name.split('(')[1].split(')')[0] # 新增一列时间,从文件名中获取
return region_name, df
# 对所有Excel文件进行分类
dfs_by_region = {}
for file_name in file_names:
region_name, df = classify(file_name)
if region_name not in dfs_by_region:
dfs_by_region[region_name] = df
else:
dfs_by_region[region_name] = pd.concat([dfs_by_region[region_name], df])
# 将分类后的数据写入新Excel文件
for region_name, df in dfs_by_region.items():
file_name = f'{region_name}.xlsx'
df.to_excel(file_name, index=False)
```
这段代码会将所有xlsx文件按照文件名中'('之前的部分分类,并在分类后的每个DataFrame中新增一列时间,最后将所有分类后的数据写入新的Excel文件中。
使用python合并当前文件夹中的多个excel表,合并后再将新的表格最后一列后面新增一列,新增列字段名称已提取,内容为已提取,后将新表保存在当前文件夹中,并以当前时间为文件名
好的,我理解了你的问题。你可以使用Python中的Pandas库来实现这个操作。下面是一个示例代码,它可以实现你所描述的功能:
``` python
import os
import pandas as pd
from datetime import datetime
# 获取当前时间作为文件名
now = datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
filename = f"merged_{now}.xlsx"
# 获取当前文件夹中的所有Excel文件
files = [f for f in os.listdir('.') if f.endswith('.xlsx')]
# 读取所有Excel文件中的数据
dataframes = []
for file in files:
df = pd.read_excel(file)
dataframes.append(df)
# 合并所有数据
merged = pd.concat(dataframes)
# 在最后一列后面新增一列,列名为 '新增列',内容为 '已提取'
merged['新增列'] = '已提取'
# 保存合并后的数据到Excel文件中
merged.to_excel(filename, index=False)
```
这段代码会将当前文件夹中所有的Excel文件合并成一个新的Excel文件,并在最后新增一列,列名为 '新增列',内容为 '已提取'。最后,新的Excel文件将以当前时间命名,并保存在当前文件夹中。
阅读全文