【问题标题】:How to reading .txt file , and adding space after specific position / index for each line in python如何读取 .txt 文件,并在 python 中每一行的特定位置/索引后添加空格
【发布时间】:2019-08-28 11:22:53
【问题描述】:

我想读取 .txt 文件并在每行的特定位置/索引后添加空格。请考虑以下示例以获取更多详细信息。

假设我的文件包含

12345 678 91011 12 1314

在上述文件中,第一行包含特定位置/索引 [4] 之后的空格,然后是位置/索引 [8] 之后、位置/索引 [14] 之后和位置/索引 [17] 之后

预期输出: 我希望文件中的每一行在特定位置之后都有空间。即对于第一行,我想在索引 [2] 之后添加空格,然后在索引 [6] 之后添加空格,然后在索引 [11] 之后添加空格,然后在索引 [21] 之后添加空格,依此类推...

123 45 6 78 91 011 12 131 4

提醒一下,我不想替换元素,而是在特定位置/索引之后添加一个新空间。

在文本文件的每一行的特定位置/索引之后添加空格

假设我的文件包含:

12345 678 91 011 12 1314

预期输出:

123 45 6 78 91 011 12 131 4

【问题讨论】:

  • 您好,欢迎@bashar,请告诉我们您到目前为止所做的尝试。我们需要一些代码示例来处理。
  • thx @mohanys,我想编写添加空间的代码,因为我没有找到在特定位置之间添加空间的东西。
  • @bashar 添加您尝试过的任何内容。你说的替换是什么意思?用另一个替换某些字符?
  • @bashar 这是一个在字符之间添加空格的示例Python adding space between characters in string. Most efficient way
  • @Dennis.M,我不想替换,而是在元素之间添加一个不规则顺序的空格。

标签: python text-files readline


【解决方案1】:

试试这个。请注意,这是我们关注的列位置/索引。如您所说,该程序在索引 2 和 3 之间添加了一个空格。您可以根据需要添加其他索引:

with open("C:/path-to-file/file.txt", "r") as file:
lines = file.read().split("\n")
newlines = []
for line in lines:
    line = line.rstrip()
    newline = line[:3] + ' ' + line[3:]   # Add more indexes here
    newlines.append(newline)

with open("C:/path-to-file/file.txt", "w") as newfile:    
    newfile.write("\n".join(newlines))

【讨论】:

  • thx @Max Voisard,此代码添加了空格,但重复了前空格数字“字符”!
  • @bashar 不太清楚你的意思
  • 请你运行最新的代码,你会看到结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-15
  • 2019-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多