编写一个函数将以下(或类似文件)的中文数字日期转为阿拉伯数字,并在excel文件中增加一列,输出日期为年、月、日 date code bankname 二○一○年八月五日 1 平安银行 二○○七年九月十日 601998 中信银行
时间: 2024-10-20 12:17:21 浏览: 32
为了将中文日期转换为阿拉伯数字并在Excel文件中添加新的列,你可以编写一个Python脚本,使用pandas库处理数据并利用正则表达式识别中文数字和月份。下面是一个简单的示例:
```python
import pandas as pd
import re
def chinese_date_to_arabic(date_str):
# 定义中文数字和月份对应的阿拉伯数字
digit_map = {'零': '0', '一': '1', '二': '2', '三': '3', '四': '4', '五': '5', '六': '6', '七': '7', '八': '8', '九': '9'}
month_map = {'年': '', '月': '', '日': ''} # 假设只有年、月、日部分,实际应用可根据需要调整
for match in re.finditer(r'(\d+|\D+)', date_str): # 使用正则匹配中文数字和非数字字符
if match.group() in digit_map:
month_map['日'] = digit_map[match.group()]
elif match.group() == '年':
month_map['年'] = ''
elif match.group() == '月':
month_map['月'] = ''
return f"{month_map['年']}{'0' + month_map['月'] if month_map['月'] else ''}{month_map['日']}"
# 示例输入
data = {
'date': ['二○一○年八月五日', '二○○七年九月十日'],
'bankname': ['平安银行', '中信银行']
}
df = pd.DataFrame(data)
# 新增日期列
df['converted_date'] = df['date'].apply(chinese_date_to_arabic)
# 将DataFrame保存到CSV或Excel文件
df.to_excel('output.xlsx', index=False) # 如果要保存为Excel文件
# 或者
df.to_csv('output.csv', index=False)
阅读全文