質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • Python

    7518questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Python 2.7

    1235questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

pythonを用いたxlsxファイルのダウンロード

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 1,703

HidenoriYamano

score 54

以下のスクリプトを打ち込んで、実行してみたのですが、ファイルがダウンロードされません。どなたか理由を教えてください。

import urllib2
data = urllib2.urlopen("http://www.example.com/filename.xlsx")
with open('filename.xlsx','wb') as f:
    f.write(data.read())
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

0

私の環境では以下のコードでファイル保存出来ましたので、
同じコードを実行していただいてもよろしいでしょうか?
(Excelファイルは適当に探してきました。)

$ python --version
Python 2.7.10

import urllib2
data = urllib2.urlopen("http://www.excel.studio-kazu.jp/DL/files/nen20110104.xls")
with open("nen20110104.xls", "wb") as f:
    f.write(data.read())

-- 追記
ダウンロード先を指定する方法です。
変更点は with open() の引数です。
お使いの環境に合わせて変更していただければ、と思います。

import urllib2
data = urllib2.urlopen("http://www.excel.studio-kazu.jp/DL/files/nen20110104.xls")
with open("/Users/ryunix/Downloads/nen20110104.xls", "wb") as f:
    f.write(data.read())

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/06 15:05

    iPythonを用いて一つずコードを打つと、最後の行で name 'read' is not defined と表示されました。これはどういうことでしょうか。

    キャンセル

  • 2015/06/06 15:15

    data = urllib2,urlopen(ry の後に help(data.read) を実行すると以下が表示されます。
    read(self, size=-1) method of socket._fileobject instance
    多分、これが表示されない状態なんでしょうか?

    キャンセル

  • 2015/06/06 15:51

    help(data.read)を実行したところ、read(self, size=-1) method of socket._fileobject instanceが表示されました。

    キャンセル

  • 2015/06/06 15:55

    と言うことは read は not defined じゃない気もしますねぇ...
    これはちょっと分からないなぁ... orz

    キャンセル

  • 2015/06/06 16:01

    そうですか...
    ありがとうございました。もう少し模索してみます。

    キャンセル

  • 2015/06/06 16:12

    解決してないのにBA貰ってしまったので、もう少しだけ...
    今のPythonのバージョンが知りたいのと、
    iPython ではなく Python で実行した時にどうなるか知りたいです!

    キャンセル

  • 2015/06/06 17:23

    コメントありがとうございます。
    そして、解決しました!! 勘違いしていて、てっきりdownloadのパスの下にダウンロードされるのかと思っていました。そしたら、まさかのpythonを保存したところに直接ダウンロードされるんですね。知りませんでした。また、もしよろしければ、ダウンロード先のパスを指定する方法がありましたら、教えてください!

    キャンセル

  • 2015/06/06 18:05

    なるほど、保存される場所を勘違いされていたのですね!
    ダウンロード先を指定する方法を追記いたしましたので、ご確認ください。

    キャンセル

  • 2015/06/06 18:44

    追記ありがとうございます。また機会がありましたらお助けください!

    キャンセル

  • 2015/06/06 18:45

    こちらこそ、またよろしくお願いします~ :D

    キャンセル

0

プログラムコードと、実行してみた様子を以下に示します。
コード中の url の値を適宜変更して利用できるはずです。

$ cat xml.py 
import urllib2

url = "http://www.radionikkei.jp/podcasting/roundup.xml"
data = urllib2.urlopen(url)
with open('sample.xml','wb') as f:
    f.write(data.read())

$ ls
xml.py

$ python xml.py 
$ ls 
sample.xml    xml.py

$ head sample.xml 
<?xml version="1.0" encoding="UTF-8" ?>
<rss xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd" version="2.0">
<channel>
<title>伊藤洋一のRound Up World Now!</title>
<link>http://www.radionikkei.jp/roundup/</link>
<description>伊藤洋一氏が日本だけでなく世界中で起きた1週間の経済・社会・政治関連の出来事、指標、トピックスなどを分かりやすく解説。刻々と変化していく現代をグローバルに見渡すことのできる30分です。</description>
<language>ja</language>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<itunes:author>ラジオNIKKEI</itunes:author>
<itunes:image href="http://www.radionikkei.jp/archives/program/roundup/podcast.jpg"/>
 

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/06 17:25

    回答ありがとうございます。ダウンロードできていました。おかげで、少し勘違いしていたことに気付きました。ありがとうございます。

    キャンセル

-1

ファイルを閉じていないからでしょうか?

f.close()

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/06 14:18

    追加しましたがダメでした。

    キャンセル

  • 2015/06/06 14:23

    with を使うと自動的に close されるみたいでした、すいません。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python

    7518questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Python 2.7

    1235questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。