编写一个函数将电脑桌面的工作簿1文件里的的中文数字日期转为阿拉伯数字,并在excel文件中增加一列,输出日期为年、月、日 date code bankname 二○一○年八月五日 1 平安银行 二○○七年九月十日 601998 中信银行
时间: 2024-10-17 21:08:31 浏览: 26
要编写一个函数将Excel表格中的中文日期转换为阿拉伯数字并添加新的列,你可以使用Python的pandas库和openpyxl库,因为它们提供了处理Excel数据的强大功能。以下是一个示例代码:
```python
import pandas as pd
from openpyxl import load_workbook
def convert_chinese_date_to_arabic(input_file, output_file):
# 加载工作簿
wb = load_workbook(filename=input_file)
ws = wb.active
# 创建一个新的DataFrame用于存储结果
data = {'date_code': [], 'bankname': []}
for row in ws.iter_rows(min_row=2, values_only=True): # 假设第一行是表头
chinese_date = row
if isinstance(chinese_date, str) and "年" in chinese_date and "月" in chinese_date and "日" in chinese_date:
arabic_date = _convert_chinese_date_to_arabic(chinese_date)
data['date_code'].append(arabic_date)
data['bankname'].append(row)
df = pd.DataFrame(data)
# 在现有工作簿添加新列(假设在最后一列)
new_ws = wb.create_sheet(title="ConvertedDates")
new_ws.append(df.columns.tolist())
new_ws.append(df.values.tolist())
# 保存修改后的Excel文件
wb.save(output_file)
def _convert_chinese_date_to_arabic(date_str):
year, month, day = date_str.split('年')[-1].split('月')[:-1] + date_str.split('日')[-1].split(' ')
return f"{int(year)}{int(month):02d}{int(day):02d}" # 将字符串转换为阿拉伯数字格式
# 使用函数并将输入和输出文件路径替换为你的情况
input_file = 'C:/path/to/your/desktop/file.xlsx'
output_file = 'C:/path/to/new/output/file.xlsx'
convert_chinese_date_to_arabic(input_file, output_file)
# 相关问题--
1. 如何用Python读取Excel文件并操作其内容?
2. `load_workbook` 和 `iter_rows` 函数分别做什么?
3. 列表推导式是如何工作的,在这个函数中如何应用?
4. 新增Excel工作表的基本步骤是什么?
阅读全文