【发布时间】:2013-01-23 10:03:45
【问题描述】:
我对 Python 还是很陌生,所以也许我遗漏了一些明显的东西。我正在尝试从 Google Docs 下载一个简单的电子表格,保存文件,然后在 Excel 中打开它。当我使用文本文件而不是 excel 文件进行测试运行时,它运行良好。但是,使用 xls 和 xlsx,当 excel 打开新下载的文件时,它说数据已损坏。我该如何解决这个问题?
import urllib2
print "Downloading..."
myfile = urllib2.urlopen("https://docs.google.com/spreadsheet/pub?key=0AoJYUIVnE85odGZxVHkybGxYRXF1TFpuQXdqZlJwNXc&output=xls")
output = open('C:\\Users\\Lucas\\Desktop\\downloaded.xlsx', 'w')
output.write(myfile.read())
output.close()
print "Done"
import subprocess
subprocess.call(['C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.exe', 'C:\\Users\\Lucas\\Desktop\\downloaded.xlsx'])
【问题讨论】:
-
您在打开文件写入时是否尝试过
wb标志? -
您可能想尝试将“w”更改为“wb”。
b标志的意思是“以二进制形式写入此文件”,而不是可能的 ASCII 或其他东西.. -
facepalm 谢谢大家,已经解决了