【问题标题】:Download Excel Spreadsheet Python下载 Excel 电子表格 Python
【发布时间】: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 谢谢大家,已经解决了

标签: python file


【解决方案1】:

您想制作它wb,您可以查看文档here

【讨论】:

    【解决方案2】:

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

    要按原样使用数据,对格式的假设为零,您可以使用二进制模式。这里:

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

    注意末尾的“b”标志。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 2017-06-09
      • 1970-01-01
      • 2021-04-05
      • 2017-10-16
      • 2011-03-18
      • 2023-03-13
      • 2021-07-21
      相关资源
      最近更新 更多