1

私はまだ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'])
4

2 に答える 2

2

作成したい場合は、こちらwbのドキュメントをご覧ください

于 2013-02-07T19:12:59.353 に答える
0

ファイルをプレーンテキストの ascii モードで書き込んでいます。Excel ドキュメントはプレーン テキストではありません。この仮定の下では、コンテンツを誤って処理することになります。

データをそのまま使用し、その形式について何も仮定しない場合は、バイナリ モードを使用します。ここ:

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

末尾の 'b' フラグに注意してください。

于 2013-02-07T19:14:18.050 に答える