首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件中分离英语文本和非英语文本

从文件中分离英语文本和非英语文本
EN

Stack Overflow用户
提问于 2019-11-03 23:21:00
回答 1查看 352关注 0票数 0

我有一个.csv文件,我想将非英语文本和英语文本分开放在两个不同的文件中。下面是我尝试过的代码:

代码语言:javascript
复制
  import string
  def isEnglish(s):
      return s.translate(None, string.punctuation).isalnum()
  file=open('File1.csv','r',encoding='UTF-8')
  outfile1=open('Eng.csv','w', encoding='utf-8')
  outfile2=open('Noneng.csv','w', encoding='utf-8')
  for line in file.readlines():
       r = isEnglish(line)
       if r:
          outfile1.write(line+"\n")
       else:
          outfile2.write(line+"\n")

代码没有生成所需的结果。两个文件中都有重复的英文文本。我已经附加了一个输出文件的快照。

EN

回答 1

Stack Overflow用户

发布于 2019-11-03 23:53:59

您没有提到代码会产生这样的结果:

代码语言:javascript
复制
TypeError: translate() takes exactly one argument (2 given)

请您阅读详细手册:https://docs.python.org/3/library/stdtypes.html#str.translate

文档提供了一个非常重要的提示,即您应该调用str.maketrans( ... )来创建所需的转换映射。这将帮助您识别严格由字母数字组成的输入字符串。

代码语言:javascript
复制
translation_table = str.maketrans('', '', string.punctuation)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58681582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档