ツイッターのcsvデータからつぶやきだけをぬきだすpythonコード
もしかすとご存知の方もいるかもしれませんが、ツイッターの設定から全ツイート履歴をcsv形式でダウンロードすることができます。.csvファイルはカンマ区切りでデータが整列されているファイルです。
.csvファイルはpythonのcsvモジュールを使うことによって、取り扱うことができます。csvは外部モジュールではなく組み込みのモジュールですのでpipを使ってインストールする必要はありません。
ポイントは1行1行がリストになっていて、しかもその1行分がカンマ区切りされており、カンマ区切りのものもリストになっています。そのため[ ][ ]リストを2つならべてアクセスしています。(わかりにくい。)
import csv, pprint, codecs file = open('tweets.csv', encoding="utf-8") csv_reader = csv.reader(file) data = list(csv_reader) ''' print(len(data))#全ツイートの数 ''' count = 0 for i in range(len(data)): count += 1 tweetdata = str(count) + ',' + str(data[i][5]) pprint.pprint(tweetdata)
コードの解説
このコードは動作するものの、未完成の部分があります。pprint.pprint()
を使用しても、表示が省略されてしまいます。9行目の for
ループは、range(len(data))
を使って全てのツイートリストを順に取得します。
count
変数は、表示を見やすくするために使用しています。
11行目では、data[i][5]
としています。[i]
の部分は、リスト data
の中のツイートを順番に取得するために使用されます。[5]
としているのは、カンマ区切りの5番目(たぶん4番目、0から数えるため)にツイートの内容があるためです。
このコードを応用すると色々なことができるかもしれません。何個とってくるか、期間を設定したり、正規表現を使うことで、キーワードを抽出できるかもしれません。
補足: powershellでツイッターキーワードを抽出するプログラムの紹介
ツイッターでキーワードを抽出するプログラムはpowershellで作っておられる方がいらっしゃいます。
PowerShell基礎文法最速マスター – PowerShell Scripting Weblogのどこかにコードがあったと思います。今回紹介したコードももっと改良して、色々できるようにはしたいです。
追記
for i in range(1000, 2000):というようにすると好きな範囲をとってくることができます。ただ、これは条件分岐構文で書いたほうがよいと思います。一応好きなところをとれるよということでした。それでは。
コメント