python - 如何将由空格分隔的单词读取为单个值
问题描述
我正在尝试在 python 中读取 .txt 文件并将结果存储在列表中。我的 txt 文件看起来像这样:
Roll no 12
Name Abc
Date of birth 11/11/90
列表中的预期输出:
['Roll no','12','Name','Abc','Date of birth','11/11/90']
使用 readLines() 后得到的输出:
['Roll','no','12','Name','Abc','Date','of','birth','11/11/90']
解决方案
如果没有看到实际代码,很难确切地知道这里出了什么问题。
readlines
将在换行符分隔符上拆分文件。为了实现完全的跨平台兼容性,请以“通用”兼容模式 (PEP-278 https://www.python.org/dev/peps/pep-0278/ ) 打开文件,这样可以避免有关您的行是否以 ' 结尾的问题\n'、'\r\n' 或其他一些变体(取决于您使用的是 DOS 还是类 Unix 系统):
with open('input.txt', 'rU') as t:
lines = t.readlines()
然后,您可以获取这组行,并假设您的输入使用制表符分隔符,将每行拆分为一个键/值对:
results = list()
for line in lines:
key,value = line.strip().split('\t')
results.append(key)
results.append(value)
有多种方法可以将其分解为列表理解,但上面是一个非常明确的示例,说明了如何实现您想要的结果。
推荐阅读
- react-native - React Native:文本必须带有
零件 - python - 内置函数名称作为标识符名称
- angular - 从 8 升级到 10 后,角度结构指令(*ngFor、*ngIf)不起作用
- java - java中TCP IP端口不可读字符串的转换
- c# - 为什么 try catch 仍然会在 C# 中引发错误?
- python - 类型错误:在 Gridsearch 期间,“str”和“int”的实例之间不支持“<”
- angular - Angular:在都柏林显示当地时间
- reactjs - 使用 this.handleChange 和 Axios 反应表单表现得很奇怪
- javascript - js 适用于 codepen 但不适用于本地文件
- c# - 用新值替换 c# 列表中的每个字符串?