我已经创建了一个正则表达式来搜索文本块并提取两个内容。我的目标是创建包含以下信息的CSV(或Excel文件):
我创建了我的正则表达式,经过测试,它成功地将我需要的所有相关信息提取到一个巨大的文本块中。最初,我尝试通过迭代创建一个字典,如下所示:
WildMagic = {0000: "Target's head turns into a watermelon", 0001: "Target's head turns into a cucumber",...Number: "Effect Text"}
然而,当我将其写入CSV时,我得到了两个长行,一个包含所有4位代码,另一个包含所有4位代码 具有所有的效果。我可以在Excel中修复它,但这并不是本练习的真正目标。经过一些阅读,我认为最好创建一个字典字典,这样在创建CSV时,我可以使用数字和效果标签为我的CSV创建标题
我当前的代码如下所示:
WildMagic = {}
for effect in textRegex.findall(str(text.read())):
WildMagic[effect]["item"]=effect[1]
WildMagic[effect]["value"]=effect[3]
当我草拟代码时,我的想法是,这段代码将创建字典,然后遍历文本块中的每一项。对于每个数字和效果,它将创建一个字典条目,如下所示:
{1:{"item":NUMBERS, "value":SPELL_EFFECT}, 2:{"item":NUMBERS, "value":SPELL_EFFECT}...}
这个循环能够打印每个数字、效果对,所以我知道我遗漏了一些东西。感谢您的帮助。谢谢
编辑:用于写入以下CSV的代码:
with open("WildMagicCSV.csv", "w") as CSVfile:
file = csv.DictWriter(CSVfile,WildMagic.keys())
file.writeheader()
file.writerow(WildMagic)
编辑2:正在读入词典的文本如下所示。我在上面描述的初始字典中也给出了一个例子。输入如下所示:
2642 Huge volumes of ectoplasm ooze from the caster's nostrils
2643 Icy winds buffet the caster for 2d8-1 days
2644 If alive, caster is totally healed in each of the next 1d6 hours
有10000个条目
首先,如果要保持4位数,则应该考虑^ {CD1>}作为字符串。我假设所有数字都是字符串->
'0000'
从
WildMagic
一旦到了那里,就可以使用} :
csv
库中的^{相关问题 更多 >
编程相关推荐