前提・実現したいこと
Pythonを用いてプログラムを作成中、Pandasをimportしようとするとエラーが発生する
発生している問題・エラーメッセージ
Traceback (most recent call last): File "output.py", line 1, in <module> import pandas as pd File "C:\Users\ユーザ名\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\__init__.py", line 11, in <module> __import__(dependency) File "C:\Users\ユーザ名\AppData\Local\Programs\Python\Python38\lib\site-packages\numpy\__init__.py", line 138, in <module> from . import _distributor_init File "C:\Users\ユーザ名\AppData\Local\Programs\Python\Python38\lib\site-packages\numpy\_distributor_init.py", line 26, in <module> WinDLL(os.path.abspath(filename)) File "C:\Users\ユーザ名\AppData\Local\Programs\Python\Python38\lib\ctypes\__init__.py", line 373, in __init__ self._handle = _dlopen(self._name, mode) OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
該当のソースコード
Python
1import pandas as pd 2from apiclient.discovery import build 3from apiclient.errors import HttpError 4 5tokenizer = Popen(tokenizer_cmd, stdin=PIPE, stdout=PIPE, shell=True) 6 7API_KEY = 'API_KEY' 8YOUTUBE_API_SERVICE_NAME = 'youtube' 9YOUTUBE_API_VERSION = 'v3' 10 11CHANNEL_ID = 'CHANNEL_ID' 12channels = [] #チャンネル情報を格納する配列 13searches = [] #videoidを格納する配列 14videos = [] #各動画情報を格納する配列 15nextPagetoken = None 16nextpagetoken = None 17 18youtube = build( 19 YOUTUBE_API_SERVICE_NAME, 20 YOUTUBE_API_VERSION, 21 developerKey=API_KEY 22 ) 23 24channel_response = youtube.channels().list( 25 part = 'snippet,statistics', 26 id = CHANNEL_ID 27 ).execute() 28 29for channel_result in channel_response.get("items", []): 30 if channel_result["kind"] == "youtube#channel": 31 channels.append([channel_result["snippet"]["title"],channel_result["statistics"]["subscriberCount"],channel_result["statistics"]["videoCount"],channel_result["snippet"]["publishedAt"]]) 32 33while True: 34 if nextPagetoken != None: 35 nextpagetoken = nextPagetoken 36 37 search_response = youtube.search().list( 38 part = "snippet", 39 channelId = CHANNEL_ID, 40 maxResults = 50, 41 order = "date", 42 pageToken = nextpagetoken 43 ).execute() 44 45 for search_result in search_response.get("items", []): 46 if search_result["id"]["kind"] == "youtube#video": 47 searches.append(search_result["id"]["videoId"]) 48 49 try: 50 nextPagetoken = search_response["nextPageToken"] 51 except: 52 break 53 54for result in searches: 55 video_response = youtube.videos().list( 56 part = 'snippet,statistics', 57 id = result 58 ).execute() 59 60 for video_result in video_response.get("items", []): 61 if video_result["kind"] == "youtube#video": 62 videos.append([video_result["snippet"]["title"],video_result["statistics"]["viewCount"],video_result["statistics"]["likeCount"],video_result["statistics"]["dislikeCount"],video_result["statistics"]["commentCount"],video_result["snippet"]["publishedAt"]]) 63 64videos_report = pd.DataFrame(videos, columns=['title', 'viewCount', 'likeCount', 'dislikeCount', 'commentCount', 'publishedAt']) 65videos_report.to_csv("videos_report.csv", index=None) 66 67channel_report = pd.DataFrame(channels, columns=['title', 'subscriberCount', 'videoCount', 'publishedAt']) 68channel_report.to_csv("channels_report.csv", index=None)
試したこと
同様のOSErrorについて検索したが具体的な解決方法が見つからなかった。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/03 12:50 編集
2020/08/03 19:37