下载Excel电子表格Python

时间:2013-02-07 19:09:00

标签: python file

我仍然是Python的新手,所以也许我错过了一些明显的东西。我正在尝试从Google文档下载简单的电子表格,保存文件,然后在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'])

2 个答案:

答案 0 :(得分:2)

你想要wb你可以查看文档here

答案 1 :(得分:0)

您正在以纯文本ascii模式编写文件。 Excel文档不是纯文本:在此假设下,您将错误处理内容。

要按原样使用数据,对其格式进行零假设,则使用二进制模式。这里:

output = open('C:\\Users\\Lucas\\Desktop\\downloaded.xlsx', 'wb')

注意最后的'b'标志。