python - 如何在读取文本文件时删除多个空格

标签 python python-2.7 csv

问题:我似乎无法解析文本文件中的信息,因为 python 将其读取为完整字符串,而不是单独的单独字符串。每个变量之间的空格不是\t,这就是它不分开的原因。有没有办法让 python 灵活地删除空格并用逗号或\t 代替?

示例数据:

MOR125-1   MOR129-1   0.587
MOR125-1   MOR129-3   0.598
MOR129-1   MOR129-3   0.115

我使用的代码:

with open("Distance_Data_No_Bootstrap_RAW.txt","rb") as f:
reader = csv.reader(f,delimiter="\t")
d=list(reader)
for i in range(3):
    print d[i]

输出: ['MOR125-1 MOR129-1 0.587'] ['MOR125-1 MOR129-3 0.598'] ['MOR129-1 MOR129-3 0.115']

期望的输出:

['MOR125-1', 'MOR129-1', '0.587']
['MOR125-1', 'MOR129-3', '0.598']
['MOR129-1', 'MOR129-3', '0.115']

最佳答案

您可以简单地将分隔符声明为空格,并要求 csv 跳过分隔符后的初始空格。这样,您的分隔符实际上就是正则表达式 ' +',即一个或多个空格。

rd = csv.reader(fd, delimiter=' ', skipinitialspace=True)
for row in rd:
    print row
['MOR125-1', 'MOR129-1', '0.587']
['MOR125-1', 'MOR129-3', '0.598']
['MOR129-1', 'MOR129-3', '0.115']

关于python - 如何在读取文本文件时删除多个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37729387/

相关文章:

Python - 任务计划程序 0x1

html - 将 CSV 数据从 div 复制到 Excel 工作表

python - 如何使用 'argparse' 指定两个必需参数(包括子命令)?

python - Python中字符串的第一个字符

Python:从模式下向mplayer发送命令

ubuntu - 使用 python 获取已安装的 java 版本的详细信息

python - 如何枚举文件的特定列

python - 如何使用 PYTHON 将 mySQL 表导出为 CSV 文件

python - 从具有坐标和值的字典构建 numpy 矩阵

Python 堆栈损坏?