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

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

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

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

1回答

599閲覧

ツイート収集後にツイートの改行などを無くす方法について

youch

総合スコア8

Python 3.x

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2018/02/14 16:39

初めに

初めまして。
Pythonの勉強を少し始めましたばかりなので色々と拙い説明になると思いますがご容赦ください。

Python を使用し、Twitterのデータを収集し、tsvやtxtファイルにまとめようとしています。
様々なサイト様、回答者様や書籍のおかげで、Twitterのデータを収集するまではできました。
問題はそれをまとめるところです。

現状

tsvファイル及びtxtファイルに書き込むことはできました。
書き込んだ形は綺麗で見やすいのですが、Excelで表示をするとズレが起きています。
どうやら、収集したツイートの方で改行されていた様です。

そこで、改行コードなどを取るために"replace"を使おうと考えました。

f.write(tweet['full_text'.replace('\r\n', '')])

Twitterのtweet内にある改行なので、"split"などではなく
"replace"で全部置換しようとしています。…効果ありませんでしたけど。

Twitterからtweetを収集するコードは
ココのを使っています。
http://ailaby.com/twitter_api/

聞きたいこと

どうにかしてtweet内容の改行だけ消せたりしませんか?

python

1for tweet in getter.collect(total=1000): 2 f.write(tweet['created_at'.replace('\r\t\n', '')]) 3 f.write('\t') 4 f.write(tweet['user'.replace('\r\t\n', '')]['screen_name'.replace('\r\t\n', '')]) 5 f.write('\t') 6 f.write(tweet['full_text'.replace('\r\n', '')]) 7 f.write('\t') 8 f.write(str(tweet['favorite_count'])) 9 f.write('\t') 10 f.write(str(tweet['retweet_count'])) 11 f.write('\r\n') 12 13f.close() 14

一応、書き出しコードはこんな感じにしています。
収集と書き込みはできているのですが、Excelファイルでまとめる時に
手作業で一つ一つやるのは中々辛くて…(1時間だけでも1500などあるため)

何か見落としなどしているのでしょうか。
疲れている中考えていたり、初心者なこともあり、
すごいくだらないミスをしているかもしれませんが、
どなたかお知恵をお借りできないでしょうか。

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

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

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

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

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

guest

回答1

0

ベストアンサー

前回回答した内容がうまく伝わっていないみたいなので。

Python

1f.write(tweet['full_text'.replace('\r\n', '')])

上記コードを説明変数(key, full_text)を追加する形で行分割すると以下のコードになります。

Python

1key = 'full_text'.replace('\r\n', '') 2full_text = tweet[key] #ここでtweetのfull_textをキー:full_textを元に取得。 3f.write(full_text)

で問題は 変数 full_text の値のreplaceを行いたいのに変数:key 'full_text'という文字列に対してreplaceをkey の行で行っています。
よって以下のように変更すれば良いと思います。

Python

1f.write(tweet['full_text'].replace('\r', '').replace('\n', ''))

疲れた時は早めに睡眠を取ったほうが良いと思いますよー。

投稿2018/02/14 17:22

編集2018/02/14 17:29
umyu

総合スコア5846

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

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

youch

2018/02/17 14:27

返信遅くなってしまう申し訳ありません。 おかげさまで無事にプログラムが使えるようになりました。 文字列に対して使う等、問題外ですね…。 本当にありがとうございました。 replaceなども仕様について勘違いしている部分が有りそうなので pythonの書籍に沿ってもう一度、勉強していきたいと思います。 繰り返しになりますがumyu様、本当にありがとうございました。 問題に対する回答だけではなく、気遣いまで…申し訳ございませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問