完整的Python Noob

时间:2016-04-15 18:18:25

标签: python

我需要将文件从一种格式转换为另一种格式。输入文件的格式如下:

  

>字

     

描述

我需要将其更改为以下格式:

  

字词说明

有谁知道我可以用这种方式格式化它?在此先感谢您的帮助。另外值得注意的是,我不知道该文件是什么。每一行的长度相同,但会有随机数量的配对。 基本上我不知道会有多少行或者行是什么 非常感谢你的帮助!!!!

到目前为止我只有:

with open("insertfilenamehere.txt") as file:
  lines=file.readlines()

我不确定如何重新格式化所有内容

2 个答案:

答案 0 :(得分:0)

看起来你正在正确阅读文字,你可以用类似的方式把它写回来:

with open("new_file.txt", "w+") as out_file:
  for line in fixed_text:
    out_file.write(line)

但首先,您必须修复该文本。我不想全力以赴,但它看起来像这样:

fixed_text = []
for line in lines: # iterate over lines of text you have
  fixed_line = fix_line(line) # "line" will refer to one element of "lines" at a time until done
  fixed_text.append(fixed_line) # add fixed line to new list for later

这是一个粗略的概述,谷歌很多并发布您在新问题中遇到的任何问题。祝你好运老兄!

答案 1 :(得分:0)

鉴于你是" ConfusedStudent",我不会直接给你代码,但你已经到了一半。您将行存储在行中。这是可迭代的....即你可以遍历这些行。现在你只需要弄清楚如何循环它们。一个提示是,当你循环时,你不必增加一个。查看range()的文档,它可以与for循环一起使用。或者,您可以使用while循环。如果通常的while循环是

的话
x=0
while x<10
    x+=1
    #do something....like *concatenate*(hint: google this) strings together

然后你怎么增加1以上?最后,为了将所有的行放回到另一个文件中,你将再次打开(),但这次是用&#39; w&#39;可选参数,允许您写入文件。使用close()关闭文件。您可能需要查看文档和一些示例。此链接上的第7.2节是一个很好的起点:https://docs.python.org/2/tutorial/inputoutput.html