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

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

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

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

Q&A

0回答

3304閲覧

PythonのPandasで'Unknown string format:'のエラー

gymgym

総合スコア97

Python 3.x

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

0グッド

0クリップ

投稿2018/07/08 23:55

編集2018/07/12 01:02
ValueError: ('Unknown string format:', '任天堂の『ニンテンドークラシックミニ ファミリーコンピュータ 【https://t.co/uxetm9KCXU限定】 オリジナルポストカード(30枚セット)付』')

PythonでTwitterAPIを用いてツイートを取得して形態素解析を行いたいと考えています。
しかし、ツイートをcsvファイルに保存してPandasで読み込み解析を行おうと思ったところ、以上のようなエラーが出ました。
「投稿日をdatatime型にする」の部分を追加したらエラーが出ました。

原因はどのように考えられるでしょうか。

よろしくお願い致します。

Python

1# coding: UTF-8 2import re 3import csv 4import time 5import pandas as pd 6import numpy as np 7import matplotlib.pyplot as plt 8import MeCab 9import random 10 11# テキストを形態素解析して辞書のリストを返す 12def get_diclist(text): 13 parsed = m.parse(text) # 形態素解析結果(改行を含む文字列として得られる) 14 lines = parsed.split('\n') # 解析結果を1行(1語)ごとに分けてリストにする 15 lines = lines[0:-2] # 後ろ2行は不要なので削除 16 diclist = [] 17 for word in lines: 18 l = re.split('\t|,',word) # 各行はタブとカンマで区切られてるので 19 d = {'Surface':l[0], 'POS1':l[1], 'POS2':l[2], 'BaseForm':l[7]} 20 diclist.append(d) 21 return(diclist) 22 23# 形態素解析結果の単語ごとdictデータにPN値を追加する 24def add_pnvalue(diclist_old): 25 diclist_new = [] 26 for word in diclist_old: 27 base = word['BaseForm'] # 個々の辞書から基本形を取得 28 if base in pn_dict: 29 pn = float(pn_dict[base]) # 中身の型があれなので 30 else: 31 pn = 'notfound' # その語がPN Tableになかった場合 32 word['PN'] = pn 33 diclist_new.append(word) 34 return(diclist_new) 35 36# 各ツイートのPN平均値をとる関数 37def get_pnmean(diclist): 38 pn_list = [] 39 for word in diclist: 40 pn = word['PN'] 41 if pn != 'notfound': 42 pn_list.append(pn) # notfoundだった場合は追加もしない 43 if len(pn_list) > 0: # 「全部notfound」じゃなければ 44 pnmean = mean(pn_list) 45 else: 46 pnmean = 0 # 全部notfoundならゼロにする 47 return(pnmean) 48 49 50# tweets.csvの読み込み 51nintendo_df = pd.read_csv('nintendo1.csv', encoding='utf-8', names=('create_at', 'tweet','retweet_count','favorite_count'), engine='python') 52# 投稿日をdatatime型に変換 53nintendo_df['create_at'] = pd.to_datetime(nintendo_df['create_at']) 54 55# 改行コード削除 56nintendo_df['tweet'] = nintendo_df['tweet'].replace('\n', '', regex=True) 57 58# 極性辞書の読み込み 59pn_df = pd.read_csv('PN_Table.txt', 60 sep=':', 61 encoding='utf-8', 62 names=('Word', 'Reading', 'POS', 'PN') 63 ) 64 65# PN Tableをデータフレームからdict型に変換しておく 66word_list = list(pn_df['Word']) 67pn_list = list(pn_df['PN']) 68pn_dict = dict(zip(word_list, pn_list)) 69 70# MeCabインスタンス作成 71m = MeCab.Tagger('') 72 73df_72 = nintendo_df[nintendo_df['create_at'].dt.date == dt.date(2018,7,8)] 74 75

nitendo1.csvの最初の数行

1Sun Jul 08 23:38:17 +0000 2018,@murabitogamein 任天堂に就職するのが夢(唐突),0,1 2Sun Jul 08 23:37:30 +0000 2018,[74]일본의 유명한 게임 제작 회사인 닌텐도는 任天堂가 정식명칭입니다.,0,0 3Sun Jul 08 23:37:28 +0000 2018,"2009年 2月11日 4マリオ&ルイージRPG3!!!(任天堂) 5詳細はコチラ : https://t.co/clNgRnG9nj 6 7#このゲームを語れる人RT https://t.co/0qhH6kzneD",0,0 8Sun Jul 08 23:36:29 +0000 2018,任天堂の電話対応5時までとかふざけんなよ ちゃんと残業しろよカス,0,0 9Sun Jul 08 23:35:35 +0000 2018,チーターもろくに排除できない無能開発だらけですからね任天堂は.,0,4 10Sun Jul 08 23:34:26 +0000 2018,任天堂の真の際どさはどう見てもセクシャルだったりブラックな行為や犯罪ぽさを匂わせたりしてんのに全年齢対象で出してるところでしょ。DなりZなりそういうレーティングで出てくるやつはその辺のフィルタリング掛かってるからある意味安心よ。,0,0 11Sun Jul 08 23:33:26 +0000 2018,"2006年 7月27日 12bit Generations Soundvoyager(任天堂) 13詳細はコチラ : https://t.co/JvbmqHEhAs 14 15#このゲームを語れる人RT https://t.co/fwcc49azYX",0,0 16Sun Jul 08 23:33:24 +0000 2018,5月7日分来た!任天堂 の 【https://t.co/N6CnOInf1v限定】【液晶保護フィルムEX付き(任天堂ライセンス商品)】Nintendo Switch ... を Amazon でチェック! https://t.co/i5U3LifHKg,0,0 17Sun Jul 08 23:33:06 +0000 2018,【ゲームのベストセラー 2位】 ニンテンドークラシックミニ ファミリーコンピュータ 週刊少年ジャンプ創刊50周年記念バージョン+ニンテンドーUSB ACアダプター https://t.co/0p6HTWq58r,0,0 18Sun Jul 08 23:31:33 +0000 2018,ニンテンドースイッチのスタンドを買おうと思って尼を物色していたら、任天堂純正のスタンドが今週発売になるようなのでそれを買うことにしました。置き場所はPCモニターの下かな。プロコンも欲しくなっちゃうね。,0,0 19Sun Jul 08 23:31:30 +0000 2018,"【ゲームソフト】ベスト10 20スーパーマリオ 3Dワールド - Wii U

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

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

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

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

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

tachikoma

2018/07/09 01:23

nintendo1.csvの一列目が時刻情報のフォーマットにあってないのが問題のようですね。csv、最初の数行を追記お願いできませんか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問