使用 for 循环从文本文件中删除制表符分隔的空格
对于我的 python 类,我正在打开一个 .tsv 文件并获取 15 行数据,分为 4 列,并将其转换为每行的列表。为此,我必须删除每列之间的选项卡。
有人建议我使用 for 循环并循环遍历每一行。这是有道理的,但我不知道如何删除标签。
有什么帮助吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
要从文件中读取行并在制表符分隔符上分割每一行,您可以执行以下操作:
To read lines from a file, and split each line on the tab delimiter, you can do this:
正确地,这应该使用 Python CSV 模块 来完成(如另一个答案中所述)因为这将处理转义分隔符、引用值等。
从更一般的意义上来说,这可以通过
并且,正如评论中所建议的,在某些情况下 生成器表达式将是更好的选择:
请参阅生成器表达式与生成器表达式列出推导式,讨论何时使用每种推导式。
Properly, this should be done using the Python CSV module (as mentioned in another answer) as this will handle escaped separators, quoted values etc.
In the more general sense, this can be done with a list comprehension:
And, as suggested in the comments, in some cases a generator expression would be a better choice:
See Generator Expressions vs. List Comprehensions for some discussion on when to use each.
您应该使用 Python 的 stdlib csv 模块,特别是 csv.reader 函数。
还有一个
dialect
参数,可以采用 excel-tab< /a> 以符合 Microsoft Excel 的制表符分隔格式。You should use Python's stdlib csv module, particularly the csv.reader function.
There's also a a
dialect
parameter that can take excel-tab to conform to Microsoft Excel's tab-delimited format.查看内置字符串函数。 split() 应该可以完成这项工作。
Check out the built-in string functions.
split()
should do the job.