swanseabrian 发表于 2021-11-2 11:14:19

用python对表格进行标注处理

判断表格的条件如下
1、表中的属性字段的中文名称。只能包含中文、英文字母、数字、左右括号、中划线和下划线,且以中文或英文字母开头。
2、表中的属性字段的英文名称。只能包含英文字母、数字和下划线,且以英文字母开头。

然后在后面对应位置标注是中文还是英文,也就是在后面追加一行
如果 是第三行,就在第四行追加上对应的标注,这个要怎么实现

傻眼貓咪 发表于 2021-11-2 18:26:37

string = input()

for s in string:
    try:
      if int(ascii(s), 16) in range(19968, 40870):
            print(f"{s} 是中文")
    except:
      if s.isalpha():
            print(f"{s} 是英文字母")
      elif s.isdigit():
            print(f"{s} 是数字")
      elif s in ['(', ')', '{', '}', '[', ']']:
            print(f"{s} 是括号")
      elif s == '-':
            print(f"{s} 是中划线")
      elif s == '_':
            print(f"{s} 是下划线")
      continue中文字幕abcd1234__---中 是中文
文 是中文
字 是中文
幕 是中文
a 是英文字母
b 是英文字母
c 是英文字母
d 是英文字母
1 是数字
2 是数字
3 是数字
4 是数字
_ 是下划线
_ 是下划线
- 是中划线
- 是中划线
- 是中划线

swanseabrian 发表于 2021-11-2 19:12:52

傻眼貓咪 发表于 2021-11-2 18:26


是用正则 的 ,用正则去匹配的,按正则去匹配条件的

傻眼貓咪 发表于 2021-11-2 19:58:54

swanseabrian 发表于 2021-11-2 19:12
是用正则 的 ,用正则去匹配的,按正则去匹配条件的

括号在正则表达式里,属於特殊字符,非常敏感,建议你上网爬文。如果是其他字符就非常简单,如:import re

chinese = '^[\u4e00-\u9fa5]{0,}$'
alphabet = '^+$'
digit = '^+$'
underscore = '^+$'
other = '^[-]+$'

string = input()

for s in string:
    if re.match(chinese, s):
      print(f"{s} 是中文")
    elif re.match(alphabet, s):
      print(f"{s} 是英文字母")
    elif re.match(digit, s):
      print(f"{s} 是数字")
    elif re.match(other, s):
      print(f"{s} 是中划线")
    elif re.match(underscore, s):
      print(f"{s} 是下划线")

傻眼貓咪 发表于 2021-11-2 20:00:13

swanseabrian 发表于 2021-11-2 19:12
是用正则 的 ,用正则去匹配的,按正则去匹配条件的

兄弟,如果对你有帮助,请给最佳解答,谢谢
页: [1]
查看完整版本: 用python对表格进行标注处理