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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

1回答

709閲覧

urllibでのエラー内容

dkymmmmmt

総合スコア26

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2019/06/05 06:58

ExcelにPDFのURLをいくつか記入し、そのURLからPDFをダウンロードするプログラムを書いています。
しかし実行するとType errorが検出されよく意味がわからなかったので、解決方法を知っている方がいれば
ご教授ください。
よろしくお願い致します。

pyhton

1import xlwings as xw 2import os.path 3import urllib.request 4import pyautogui as pg 5import time 6 7#PDFDL 8def pdf_dl(): 9 wb = xw.Book('hoge.xlsx') 10 sht = wb.sheets('Sheet3') 11 nrow = xw.Range('Sheet3!C1').end('down').row 12 print(nrow) 13 for i in range(1,nrow): 14 url = sht.range('E'+str(i)).value 15 if url == 'リンクがありません': 16 continue 17 18 savename = os.path.basename(url)+str(i)+'.PDF' 19 urllib.request.urlretrieve(url,savename) 20 time.sleep(1) 21 22 print(i) 23 print('end process') 24 25pdf_dl()
TypeError Traceback (most recent call last) <ipython-input-8-ddaeae675b3c> in <module>() 24 print('end process') 25 ---> 26 pdf_dl() <ipython-input-8-ddaeae675b3c> in pdf_dl() 17 continue 18 ---> 19 savename = os.path.basename(url)+str(i)+'.PDF' 20 urllib.request.urlretrieve(url,savename) 21 time.sleep(1) F:\WPy-3662\python-3.6.6.amd64\lib\ntpath.py in basename(p) 234 def basename(p): 235 """Returns the final component of a pathname""" --> 236 return split(p)[1] 237 238 F:\WPy-3662\python-3.6.6.amd64\lib\ntpath.py in split(p) 203 Return tuple (head, tail) where tail is everything after the final slash. 204 Either part may be empty.""" --> 205 p = os.fspath(p) 206 seps = _get_bothseps(p) 207 d, p = splitdrive(p) TypeError: expected str, bytes or os.PathLike object, not NoneType

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

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

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

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

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

guest

回答1

0

エラー内容を見る限り、変数urlがNonetypeになっている(うまく取得できていない)のが原因っぽいです。

wb,sht,urlが正常に取得できているか、print文などを用いて確認してみてはいかがでしょうか。

投稿2019/06/05 10:41

amahara_waya

総合スコア1029

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問