所以我有这个带有元素的txt文件,以及它们被发现的年份如氢1766 氦1868 还有很多。我必须读取该文件并返回一个表格表,从文件中表示此信息 {{“Hydrogen”,1766},{“Helium”,1868},...... {“Bromine”,1825},{“Krypton”,1898}} 但到目前为止我只有它的名字和年份。到目前为止我有这个
function read_elements(f_name)
elements = {}
f_name = io.open('elements.txt')
for line in f_name:lines()do
for word in string.gmatch(line, "%w+") do
table.insert(elements,word)
end
end
for key,value in pairs(elements) do
print(value..",")
end
f_name:close()
end
我被告知要把每一对放在他们自己的表中并将这些表插入到更大的表中,但我真的不知道下一步该怎么做或者怎么做。请帮忙
答案 0 :(得分:1)
您只创建一个表,并将每个找到的单词插入其中。您需要创建主表,然后构建元素和年份的单个表,并将该表插入主表。
假设您的文件格式为:
context
即。每行一个元素,在hydrogen 1766
helium 1868
...
的第一个for
语句中,您应该创建一个新表,将找到的每个单词(将有两个)添加到新表中,然后将其添加到您的大表中表:
f_name:lines()
如果您的文本文件格式不同(可能只是一个顺序列表,那么您可能希望调整设置/取消设置每个其他单词的布尔标记,假设每个其他单词始终是年份或者元件。