我尝试将文档中的表另存为目录下的文件,如下所示:
for table in tables:
tableString = html.tostring(table)
fileref=open('c:\\Users\\ahn_133\\Desktop\\appleTables\\Apple-' + str(count) + '.htm', 'w')
fileref.write(tableString)
fileref.close()
count+=1
但是,我一直收到如下错误:
Traceback (most recent call last):
File "<pyshell#27>", line 4, in <module>
fileref.write(tableString)
TypeError: must be str, not bytes
我正在使用Python 3.3并安装了lxml-3.0.1.win32-py3.3.exe
如何解决此错误?
最佳答案
lxml的tostring
方法返回一个字节串(bytes
),因为它已被编码。这是必需的,因为XML / HTML文档可以指定其自己的编码,最好是正确的!
只需以二进制模式打开文件:
for table in tables:
tableString = html.tostring(table)
filename = r'c:\Users\ahn_133\Desktop\appleTables\Apple-' +str(count)+ '.htm'
with open(filename, 'wb') as fileref:
# ^
fileref.write(tableString)
count+=1
关于python - 从HTML文档保存表格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13516434/