123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import csv
- # 尝试使用ANSI编码打开文件
- try:
- with open('手机地区表.txt', 'r', encoding='ansi') as infile:
- lines = infile.readlines()
- except UnicodeDecodeError:
- # 如果ANSI失败,尝试使用gbk编码
- with open('手机地区表.txt', 'r', encoding='gbk') as infile:
- lines = infile.readlines()
- # 创建CSV输出文件
- with open('手机地区表.csv', 'w', encoding='utf-8', newline='') as outfile:
- writer = csv.writer(outfile)
- # 处理每一行数据
- for line in lines:
- line = line.strip()
- if not line:
- continue
- # 使用|分隔符拆分字段
- parts = line.split('|')
- # 检查是否为标题行
- if parts[0] == "手机前缀" or len(parts) < 3:
- writer.writerow(parts) # 标题行保持不变
- continue
- # 从地区信息中提取省份
- location = parts[2]
- # 处理特殊省份名称
- if location.startswith(("内蒙古", "黑龙江")):
- province = location[:3]
- else:
- province = location[:2]
- # 更新地区字段为省份名称
- parts[2] = province
- # 将修改后的行写入CSV
- writer.writerow(parts)
- print("转换完成,已生成:手机地区表.csv")
|