Python 显示TypeError:序列项0:预期字符串,找到int;将列表转换为文本时
我试图在google python类中解决babynames问题,并执行以下脚本Python 显示TypeError:序列项0:预期字符串,找到int;将列表转换为文本时,python,Python,我试图在google python类中解决babynames问题,并执行以下脚本 def extract_names(filename): year=0 f=open(filename,'rU') contents=f.read() match = re.search(r'(/w+/s/w+/s)(/d/d/d/d)',contents) if match: year=match.group() names=[] names.append(year) n
def extract_names(filename):
year=0
f=open(filename,'rU')
contents=f.read()
match = re.search(r'(/w+/s/w+/s)(/d/d/d/d)',contents)
if match:
year=match.group()
names=[]
names.append(year)
names_rank={}
m = re.findall(r'<td>(/d+)</td><td>(/w+)</td><td>(/w+) </td>',contents)
for item in m:
(r,boyname,girlname)=item
if boyname not in names_rank:
names_rank[boyname]=r
if girlname not in names_rank:
names_rank[girlname]=r
sorted_names=sorted(names_rank.keys())
for name in sorted_names:
names.append(name+' '+names_rank[name])
return names
def main():
args = sys.argv[1:]
if not args:
print 'usage: [--summaryfile] file [file ...]'
sys.exit(1)
summary = False
if args[0] == '--summaryfile':
summary = True
del args[0]
for filename in args:
names = extract_names(filename)
t = '\n'.join(names)
if summary:
fileout = open(filename, 'w')
fileout.write(t + '\n')
fileout.close()
else:
print text
if __name__ == '__main__':
这里的名字是一个列表,我的目标是使用
t = '\n'.join(names)#where t is the text
但是找到了它,原因可能是什么。如何解决这个问题?这是因为
name
的第一个元素是一个整数,如果要将它们连接在一起,它应该是一个字符串。试试这个:
t = '\n'.join(str(n) for n in names)
t = '\n'.join(str(n) for n in names)