Python打开有数据的excel 1.在表中第一行插入列名2.拆分日期数时间一列中按空格拆分成两列,把日期一列内容改为日期格式,3.把时间那一列数据提取小时到后一列
时间: 2023-05-26 19:04:13 浏览: 54
以下是Python实现上述功能的代码:
```python
import pandas as pd
# 打开Excel文件,读取第一个Sheet
file = 'data.xlsx'
sheet_name = 0
df = pd.read_excel(file, sheet_name=sheet_name)
# 在第一行插入列名
df.columns = range(len(df.columns))
df.loc[-1] = df.iloc[0]
df = df.drop(0)
df.index = range(len(df))
# 拆分日期时间列
datetime_col_idx = 0
date_col_idx = len(df.columns)
time_col_idx = len(df.columns) + 1
def split_datetime(value):
datetime, time = value.split(' ')
return datetime, time
df[[date_col_idx, time_col_idx]] = df[datetime_col_idx].apply(split_datetime, result_type='expand')
# 转换日期格式
df[date_col_idx] = pd.to_datetime(df[date_col_idx], format='%Y-%m-%d')
# 提取小时数到新列
hour_col_idx = len(df.columns)
def extract_hour(value):
time = pd.to_datetime(value)
return time.hour
df[hour_col_idx] = df[time_col_idx].apply(extract_hour)
# 输出结果
print(df)
```
代码分为以下几个部分:
- 第1-3行:导入需要的库;
- 第6-7行:打开Excel文件,并读取第一个Sheet的数据;
- 第10-14行:插入列名;
- 第17-21行:拆分日期时间列,并插入新的日期、时间两列;
- 第24行:将日期列的数据转换为日期格式;
- 第27-30行:提取小时数到新列;
- 第33行:打印输出处理后的数据。
注意:需要安装pandas库才能运行上述代码。