首先,我实际上是一个医科学生,所以我不知道编程的第一件事,但我发现自己迫切需要这个,所以请原谅我对这个问题的完全无知。你知道吗
我有两个包含文本的XML文件,每个文件包含近200万行,第一个看起来像这样:
<TEXT>
<Unknown1>-65535</Unknown1>
<autoId>1</autoId>
<autoId2>0</autoId2>
<alias>Name2.Boast_Duel_Season01_sudden_death_1vs1</alias>
<original>Уникальная массовая дуэль: Битва один на один до полного уничтожения в один раунд</original>
</TEXT>
<TEXT>
<Unknown1>-65535</Unknown1>
<autoId>2</autoId>
<autoId2>0</autoId2>
<alias>Name2.Boast_Duel_Season01_sudden_death_3vs3</alias>
<original>Уникальная массовая дуэль: Битва трое на трое до полного уничтожения в один раунд</original>
第二个是这样的:
<TEXT>
<Unknown1>-65535</Unknown1>
<autoId>1</autoId>
<autoId2>0</autoId2>
<alias>Name2.Boast_Duel_Season01_sudden_death_1vs1</alias>
<replacement>Unique mass duel one on one battle to the complete destruction of one round</replacement>
</TEXT>
<TEXT>
<Unknown1>-65535</Unknown1>
<autoId>2</autoId>
<autoId2>0</autoId2>
<alias>Name2.Boast_Duel_Season01_sudden_death_3vs3</alias>
<replacement>Unique mass duel Battle three against three to the complete destruction of one round</replacement>
</TEXT>
这些代码块在文件中重复了大约50万次,把我告诉你的200万行程序都用光了。。你知道吗
现在我需要做的是合并两个文件,使最终产品看起来像这样:
<TEXT>
<Unknown1>-65535</Unknown1>
<autoId>1</autoId>
<autoId2>0</autoId2>
<alias>Name2.Boast_Duel_Season01_sudden_death_1vs1</alias>
<original>Уникальная массовая дуэль: Битва один на один до полного уничтожения в один раунд</original>
<replacement>Unique mass duel one on one battle to the complete destruction of one round</replacement>
</TEXT>
<TEXT>
<Unknown1>-65535</Unknown1>
<autoId>2</autoId>
<autoId2>0</autoId2>
<alias>Name2.Boast_Duel_Season01_sudden_death_3vs3</alias>
<original>Уникальная массовая дуэль: Битва трое на трое до полного уничтожения в один раунд</original>
<replacement>Unique mass duel Battle three against three to the complete destruction of one round</replacement>
</TEXT>
所以,基本上我想在每个“原始”行下添加“替换”行,而文件的其余部分保持不变(两者都是相同的),手动执行此操作需要2周的时间..而且我只有1天的时间! 感谢您的帮助,再次…如果我在这方面听起来像个十足的白痴,我很抱歉,因为我有点像! 附言:我甚至不能选择一个合适的标签!我会完全理解,如果我现在就被鞭打在答案…这个工作是我的方式大!你知道吗
关于“从哪里开始”的真相是学习基本的python字符串操作。我感觉很好,我喜欢这样的问题,但是,这里有一个(快速和肮脏的)解决办法。你唯一需要改变的就是原始.xml“和”替换.xml“文件名。当然,您还需要一个可用的python版本。那就看你自己了。你知道吗
关于我的代码有几个注意事项:
-
Edit(回复评论):IndexError,list-out-of-range错误意味着regex没有正常工作(它没有找到正确数量的替换文本并抓取每个条目将其放入列表)。我测试了我在您提供的blurbs上写的内容,因此您提供的blurbs和完整的XML文件之间存在差异。如果没有相同数量的原始/替换标签或类似的东西,这将破坏代码。如果没有这些文件我是不可能弄清楚的。你知道吗
这里我提供了一种简单的方法(无需xml解析)。你知道吗
代码是用python编写的,它使用关键字
yield
,使用http://www.codecademy.com/如果你想学习python,googleyield python
学习如何在python中使用yield
。如果你想在将来处理这样的txt文件,你应该学习一种脚本语言,python可能是最简单的一种。如果你遇到任何问题,你可以张贴在这个网站上,但不要什么都不做,只是问像“为我写这个程序”。你知道吗相关问题 更多 >
编程相关推荐