这两个制表符分隔的.txt文件之间的区别是什么,导致.split“ \ t”正确地将一个值与另一个值分开?

问题描述

我有两个日语单词频率报告,它们是从不同来源汇编的。每行包含一个单词及其出现次数,由制表符分隔。我也有一个Python脚本,应该使用class ThisAsplodes { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("Okay"); for (String elem : list) { list.add("Bye"); } } } 将每一行分成两个值。然后将后一个值转换为整数,这是错误的出处:

.split("\t")

这仅适用于第二个文件中的数据。

在进行测试以查看将数字转换为浮点数是否可行(或更改错误)后,结果是这样的:

ValueError: invalid literal for int() with base 10: '\ufeff29785713'

这是否是第二个文件中的制表符或数字在技术上可能不是相同的字符并且没​​有正确定界的结果,从而导致后一个值中不需要的字符(或者可能根本没有分割)吗?这两个文件都是UTF-8编码的。

Shorter version of first file(正在工作)

Shorter version of second file

解决方法

老实说,根本不是python开发人员,但是鉴于您的第二个数组元素包含流氓字符对,您可以尝试在拆分后以及转换为数字之前将其删除:

x[1] = x[1].replace('\ufeff','')

x是您将行拆分成的数组的名称。替换操作将对第一个文件无效,因为不存在FEFF

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...