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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

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

Python

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

Q&A

解決済

3回答

7806閲覧

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

HidenoriYamano

総合スコア60

Python 2.7

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

Python

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

0グッド

1クリップ

投稿2015/06/06 04:59

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

lang

1import urllib2 2data = urllib2.urlopen("http://www.example.com/filename.xlsx") 3with open('filename.xlsx','wb') as f: 4 f.write(data.read())

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

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 07:44

編集2015/06/06 08:32
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HidenoriYamano

2015/06/06 08:25

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

0

ベストアンサー

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

lang

1$ python --version 2Python 2.7.10

lang

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

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

lang

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

投稿2015/06/06 05:35

編集2015/06/06 09:04
ryunix

総合スコア1656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HidenoriYamano

2015/06/06 06:05

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

2015/06/06 06:15

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

2015/06/06 06:51

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

2015/06/06 06:55

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

2015/06/06 07:01

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

2015/06/06 07:12

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

2015/06/06 08:23

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

2015/06/06 09:05

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

2015/06/06 09:44

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

2015/06/06 09:45

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

0

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

lang

1f.close()

投稿2015/06/06 05:07

ryunix

総合スコア1656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryunix

2015/06/06 05:23

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問