Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将文本拆分成句子并将其写入xml_Python_Xml_Text - Fatal编程技术网

Python 如何将文本拆分成句子并将其写入xml

Python 如何将文本拆分成句子并将其写入xml,python,xml,text,Python,Xml,Text,我正在尝试用xml结构构造文本文档,其中每个句子都有一个id。我的文本文档中有非结构化的句子,我想使用“.”分隔符拆分这些句子并将它们写入xml。这是我的密码: import re #Read the file with open ('C:\\Users\\ngwak\\Documents\\test.txt') as f: content = [f] split_content = [] for element in c

我正在尝试用xml结构构造文本文档,其中每个句子都有一个id。我的文本文档中有非结构化的句子,我想使用“.”分隔符拆分这些句子并将它们写入xml。这是我的密码:

    import re

    #Read the file
    with open ('C:\\Users\\ngwak\\Documents\\test.txt') as f:
        content = [f]
        split_content = []
        for element in content:
            split_content += re.split("(.)\s+", element)

        print(split_content, sep='\n\n')
但我已经得到了这个错误,我无法解释它:

    TypeError: expected string or buffer
如何拆分句子并将其写入xml?谢谢。 这是我的txt文件的外观:

从形式上讲,民族意识的萌芽可以追溯到1858年6月13日至6月13日士兵之间签署的《霍查纳斯和平条约》,除了邦德尔斯沃茨(Bondelswarts)(没有参与过前一场战斗)的酋长之外,其他所有酋长都与阿穆哈的两个儿子穆乌塔(Muewuta)签署了该条约,以前是部落部落首领Onag的指挥官。这一观点有充分的书信和口头证据。1890年5月13日,著名的、经常被引用的奥纳格写给博纳加的信中,最令人痛心的一句话就是,他在信中说,6月13日有人来。在2015年2月1日至2015年5月1日期间,还会有一些活动

我希望这些句子在xml中是这样的:

    <sentence id=01>In a formal sense, the germ of national consciousness 
    can be traced back to the Peace Treaty of Hoachanas signed in 13–June-
    1858 between soldiers, all the  chiefs except those of the Bondelswarts 
    (who had not been involved in the previous fighting), as well as by 
    Muewuta, two sons of  amuaha, formerly a Commandant of Chief Onag of the 
    Triku people. </sentence>
从形式上讲,民族意识的萌芽
可以追溯到6月13日至12日签署的《霍查纳斯和平条约》-
1858士兵之间,除了邦德尔斯沃茨家族的首领以外,所有的首领
(未参与上一次战斗的人),以及
Muewuta,阿穆哈的两个儿子,以前是埃及酋长奥纳格的指挥官
特里库人。

您不需要
内容=[f]

with open ('C:\\Users\\ngwak\\Documents\\test.txt') as file:
    split_content = []
    for element in file:
        split_content += re.split("(.)\s+", element)

    print(split_content, sep='\n\n')
文件对象是可编辑的。在
for
循环中使用它们将在每一行上迭代


进一步阅读

  • 在Python文档中
  • 该答案中的示例如下:

    • 您不需要
      内容=[f]

      with open ('C:\\Users\\ngwak\\Documents\\test.txt') as file:
          split_content = []
          for element in file:
              split_content += re.split("(.)\s+", element)
      
          print(split_content, sep='\n\n')
      
      文件对象是可编辑的。在
      for
      循环中使用它们将在每一行上迭代


      进一步阅读

      • 在Python文档中
      • 该答案中的示例如下:


      哪一行出现错误?内容中只有一个元素,它是文件对象。我不知道你为什么要做
      content=[f]
      你需要
      content=f.readlines()
      @Summer Evans在行split\u content+=re.split(()\s+,元素)上。我明白了,我正试着在上面解析内容。。。无论如何,我更改了它,但它没有打印任何内容来查看它如何分割句子。您的文本文件有任何换行符吗?您得到的错误是哪一行?在
      内容中只有一个元素,它是一个file对象。我不确定为什么要执行
      content=[f]
      您需要在行拆分上的Summer Evans on line split\u content+=re.split((.)\s+,元素)。我明白了,我正试着在上面解析内容。。。无论如何,我改变了它,但它没有打印任何东西让我看它是如何分割句子的。你的文本文件有新行吗?@Summer Evans谢谢你的更正。我注意到我不需要内容=[f],但当我更改它时,我仍然无法打印以查看拆分的句子。@NampaGwakondo,请更新您的问题,并添加更多关于您当前看到的内容和您希望看到的内容的描述。实际上我什么都没有看到。我已经编辑了我的问题,关于我想在一天结束时吃什么。@Summer Evans谢谢你的更正。我注意到我不需要内容=[f],但当我更改它时,我仍然无法打印以查看拆分的句子。@NampaGwakondo,请更新您的问题,并添加更多关于您当前看到的内容和您希望看到的内容的描述。实际上我什么都没有看到。我已经编辑了我的问题,关于我想在一天结束时得到什么。这正是我拆分句子所需要的。非常感谢。你知道我怎样把每个句子写成xml吗?。我也会试试。@NampaGwakondo,搜索Python XML库。(同样,这应该是公认的答案。)@Sumneevans你能看看我的更新吗。我正试图将结果保存到一个新的文本文件中,但我有一个错误。这正是我拆分句子所需要的。非常感谢。你知道我怎样把每个句子写成xml吗?。我也会试试。@NampaGwakondo,搜索Python XML库。(同样,这应该是公认的答案。)@Sumneevans你能看看我的更新吗。我试图将结果保存到一个新的文本文件,但我有一个错误。