Skip to content

Instantly share code, notes, and snippets.

@jonathanmorgan
Last active February 2, 2019 21:44
Show Gist options
  • Save jonathanmorgan/fb5e16049bf4617b2d3d to your computer and use it in GitHub Desktop.
Save jonathanmorgan/fb5e16049bf4617b2d3d to your computer and use it in GitHub Desktop.
Big Data Basics - Intro to Python 2
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Intro to Python\n",
"\n",
"With substantial material borrowed from:\n",
"\n",
"- [http://introtopython.org](http://introtopython.org)\n",
"- [http://ibug-um.github.io/2014-summer-camp/slides/ICOS-python-lecture.html](http://ibug-um.github.io/2014-summer-camp/slides/ICOS-python-lecture.html)\n",
"\n",
"## Table of Contents\n",
"\n",
"- [Getting Started](#Getting-Started)\n",
"- [1. Comments](#1.-Comments)\n",
"- [2. Variables and Assignment](#2.-Variables-and-Assignment)\n",
"- [3. Types of Values](#3.-Types-of-Values)\n",
"\n",
" - [None](#None)\n",
" - [Boolean](#Boolean)\n",
" - [Numbers](#Numbers)\n",
" - [Strings](#Strings)\n",
" - [Lists](#Lists)\n",
" - [Dictionaries](#Dictionaries)\n",
"\n",
"- [4. Flow of Control](#4.-Flow-of-Control)\n",
"\n",
" - [if...then...else](#if...elif...else)\n",
" - [loops](#loops)\n",
"\n",
"- [5. Function Basics](#5.-Function-Basics)\n",
"- [6. Reading from a File](#6.-Reading-from-a-File)\n",
"- [7. Working with CSV Files](#7.-Working-with-CSV-Files)\n",
"\n",
" - [Using csv to work with CSV files](#Using-csv-to-work-with-CSV-files)\n",
" - [Using pandas to work with CSV files](#Using-pandas-to-work-with-CSV-files)\n",
" - [How about writing your own CSV code?](#How-about-writing-your-own-CSV-code?)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Getting Started\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"To start, you should download this Jupyter Notebook to your own computer, so you can play with and run the examples yourself, as we progress. There are two ways to download this Jupyter notebook:\n",
"\n",
"- if you are viewing this on [http://nbviewer.ipython.org](http://nbviewer.ipython.org) ( [http://nbviewer.ipython.org/gist/jonathanmorgan/fb5e16049bf4617b2d3d](http://nbviewer.ipython.org/gist/jonathanmorgan/fb5e16049bf4617b2d3d) ), you can:\n",
"\n",
" - scroll all the way to the top so the header appears, then click the button in the upper right hand corner of the pate that looks like a down arrow pointing at a bar with two dots. This will open the Jupyter notebook in your browser window as a JSON file.\n",
" - save that file to your computer as \"Intro_to_python.ipynb\" using your browser's \"Save As\" functionality. Some browsers are more complicated than others when saving like this. For example:\n",
" \n",
" - On a Mac, using Safari, you'll need to:\n",
" \n",
" - in the \"Save As\" dialogue, make sure to choose \"Format\" of \"Page Source\", NOT \"Web Archive\"\n",
" - then, in the \"Save Plain Text\" pop-up that will appear when you click \"Save\", click \"Don't append\" to tell it to NOT append \".txt\" to the end of the file name (you want to keep the \".ipynb\" extension).\n",
"\n",
"<img src=\"http://data.jrn.cas.msu.edu/images/download_ipynb.png\" />\n",
" \n",
"- by cloning the gist from github.com:\n",
"\n",
" - in a command shell, cd to the directory where you want to pull down the gist.\n",
" - use the git client to clone the git repository for this file:\n",
" \n",
" git clone https://gist.github.com/fb5e16049bf4617b2d3d.git\n",
" \n",
" The file will be inside a folder named fb5e16049bf4617b2d3d.\n",
"\n",
"Once you have the file downloaded to your local computer:\n",
"- open up Jupyter Notebook.\n",
"- Click on the \"Upload\" button in the upper right corner of the \"Files\" tab.\n",
"- navigate to the folder on your local computer where you downloaded the file, select it, and upload it.\n",
"- in the Jupyter \"Files\" tab, click on the file in the list on the left to open the notebook in a new tab."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Comments\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"Comments are lines in your program that are ignored by the Python interpreter when the program is run. You can use comments to describe what is going on in your program. You can also use comments to stop python commands that you comment out from running, but leave them in the file.\n",
"\n",
"There are two ways to comment - single-line (\"#\") and multi-line (\"'''\")\n",
"\n",
"- single-line - put a pound sign ( \"#\" ) at the beginning of any line in your program that you want python to ignore:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"test_var = 3\n",
"\n",
"# output debug to see what is in test_var\n",
"print( \"DEBUG: \" + str( test_var ) )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- multi-line comment - any number of lines, preceded by and followed by three single-quotes ('''). Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"'''\n",
"print( \"==> At start of multi-line comment.\" )\n",
"\n",
"This is a multi-line comment.\n",
"Very nice, eh?\n",
"\n",
"# print( \"==> At end of multi-line comment.\" )\n",
"'''\n",
"print( \"print() outside the multi-line comment.\" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In general, comment by placing the single-line \"#\" in front of individual lines, so you can wrap whole sections in ''' ''' later.\n",
"\n",
"And, ALWAYS comment your code.\n",
"\n",
"### What makes a good comment?\n",
"\n",
"- It is short and to the point, but a complete thought. Most comments should be written in complete sentences.\n",
"- It explains your thinking, so that when you return to the code later you will understand how you were approaching the problem.\n",
"- It explains your thinking, so that others who work with your code will understand your overall approach to a problem.\n",
"- It explains particularly difficult sections of code in detail.\n",
"\n",
"### When should you write a comment?\n",
"\n",
"- When you have to think about code before writing it.\n",
"- When you are likely to forget later exactly how you were approaching a problem.\n",
"- When there is more than one way to solve a problem.\n",
"- When others are unlikely to anticipate your way of thinking about a problem.\n",
"- all the time everywhere just do it.\n",
"\n",
"<hr />"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Variables and Assignment\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"Variables are names to which you assign values. You use the \"=\" operator to assign a value to a variable. Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"a_string = \"This is a string\"\n",
"print( \"A string: \\\"\" + a_string + \"\\\"\" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can change the value referenced by a variable at any time:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# set the string\n",
"a_string = \"This is a string\"\n",
"print( a_string )\n",
"\n",
"# change the value\n",
"a_string = \"Same variable, but different string value\"\n",
"print( a_string )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Naming rules\n",
"\n",
"- Variables can only contain letters, numbers, and underscores. Variable names can start with a letter or an underscore, but can not start with a number.\n",
"- Spaces are not allowed in variable names, so we use underscores instead of spaces. For example, use student_name instead of \"student name\".\n",
"- You cannot use Python keywords as variable names.\n",
"- Variable names should be descriptive, without being too long. For example mc_wheels is better than just \"wheels\", and number_of_wheels_on_a_motorycle.\n",
"- Be careful about using the lowercase letter l and the uppercase letter O in places where they could be confused with the numbers 1 and 0.\n",
"\n",
"<hr />"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. Types of Values\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"Python doesn't require you to explicitly state the type of a given variable when you declare it, but all values you place in a variable are typed.\n",
"\n",
"There are a small number of different core value types built-in to python. These types are referred to as \"scalars\" or \"atomic types\", because they are the most basic data types in the language (like atoms are to matter, ignoring quarks, etc.).\n",
"\n",
"You can use the type() function to check the type of a given variable:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"test_var = None\n",
"print( type( test_var ) )\n",
"\n",
"test_var = \"a string\"\n",
"print( type( test_var ) )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### None\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"The value _`None`_ is a special object in python that is used to show that a variable was declared, but was explicitly set to contain nothing. It can be used to initialize a variable that will eventually hold an object, or used to signal that something went wrong. Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"super_important_thing = None\n",
"if ( super_important_thing is None ):\n",
" \n",
" # ERROR - missing thing!\n",
" print( \"ERROR - missing thing!\" )\n",
" \n",
"#-- END check to see if we have super_important_thing --#"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Boolean\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"The two boolean values _`True`_ and _`False`_ are another set of special objects in Python, used to represent the data type _`bool`_ (for boolean), where there are only two possible values - _`True`_ and _`False`_. In some languages, these values are sometimes represented by 1 (true) and 0 (false). They are often used in variables that control branching logic. Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"is_OK_to_go_on = False\n",
"\n",
"# OK to go on?\n",
"if ( is_OK_to_go_on is True ):\n",
" \n",
" # yes - OK to go on.\n",
" print( \"Go on!\" )\n",
" \n",
"else:\n",
" \n",
" # no - What is the use...\n",
" print( \"I guess I'll stop...\" )\n",
" \n",
"#-- END check to see if OK to go on... --#"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Numbers\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"There are two basic types of numbers in Python: integers (int and long) and decimals (float).\n",
"\n",
"Integers are whole numbers with no decimal component:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"an_int = 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"floats can also have a decimal component:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"a_float = 2.394"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When you set a variable to a number, you don't place the numeric value in quotes.\n",
"\n",
"Operators: Numbers have all of the basic mathematical operators you'd expect, and a few you might not. The expected ones:\n",
"\n",
"- \\+ : addition\n",
"- \\- : subtraction\n",
"- \\* : multiplication\n",
"- / : division (in python 2.7, integer division returns only the integer part of the quotient. To get remainder, you need to use the modulo operator).\n",
"- % : modulo operator - returns the remainder of division that is not even.\n",
"- \\*\\* : exponent operator (a \\*\\* b = a to the b)\n",
"- \\+= : takes the value in the variable on the left of the operator, adds the value on the right to it, then stores the result back in the variable on the left (see example below).\n",
"\n",
"Examples:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"an_int = 10\n",
"another_int = 3\n",
"\n",
"# integer division\n",
"int_div = an_int / another_int\n",
"\n",
"# integer modulo\n",
"int_mod = an_int % another_int\n",
"\n",
"# calculate decimal quotient\n",
"float_quotient = float( an_int ) / float( another_int )\n",
"\n",
"# print summary\n",
"print( str( an_int ) + \" divided by \" + str( another_int ) + \" is \" + str( float_quotient ) + \" or \" + str( int_div ) + \" with a remainder of \" + str( int_mod ) + \".\" )\n",
"\n",
"# print results of integer division and modulo.\n",
"print( \"8 / 3 = \" + str( int_div ) + \" (the whole number part of the quotient )\" )\n",
"print( \"8 % 3 = \" + str( int_mod ) + \" (the remainder)\" )\n",
"\n",
"# and the += operator\n",
"record_counter = 2\n",
"\n",
"# add 1 to record_counter\n",
"record_counter += 1\n",
"\n",
"# alternate: record_counter = record_counter + 1\n",
"\n",
"print( \"record_counter = \" + str( record_counter ) )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Strings\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"Strings are collections of one or more text characters. They can be defined with either single- or double-quotes:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"single_quote_string = 'My single-quote string'\n",
"double_quote_string = \"My double-quote string\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In Python, there is no difference in declaring a string with single- or double-quotes. Using one allows you to easily include the other in the string:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"single_quote_string = 'My \"single-quote\" string'\n",
"double_quote_string = \"My 'double-quote' string\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The plus operator \"+\" lets you combine, or \"concatenate\" multiple strings into one string. When you concatenate, you can combine both strings and variables that contain strings:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"single_quote_string = 'My \"single-quote\" string'\n",
"double_quote_string = \"My 'double-quote' string\"\n",
"combined_string = single_quote_string + \" AND \" + double_quote_string\n",
"print( combined_string )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can also use the += operator to add on to the end of an existing string stored in a variable, just like you can use it to add to a number stored in a variable (takes string on the left of operator, appends string on the right to it, then stores the result in the variable on the left side of the operator). Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"single_quote_string = 'My \"single-quote\" string'\n",
"double_quote_string = \"My 'double-quote' string\"\n",
"\n",
"# building up a string using +=\n",
"\n",
"# put the first string in your combined_string variable.\n",
"combined_string = single_quote_string\n",
"\n",
"# then add the other strings using the += operator\n",
"combined_string += \" AND \"\n",
"combined_string += double_quote_string\n",
"\n",
"# prints the same as the example above.\n",
"print( combined_string )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Other string operators:\n",
"\n",
"_Note: operators can have different type-specific behaviors when used on variables that contain values of different types - the plus ( \"+\" ) operator, for example, does addition on numbers, concatenation on Strings._\n",
"\n",
"- [] - Slice - Gives the character from the given index (A negative number starts from the end)\n",
"- [ : ] - Range Slice - Gives the characters from the given range \n",
"- in - Membership - Returns true if a character exists in the given string \n",
"- not in - Membership - Returns true if a character does not exist in the given string \n",
"\n",
"In addition, strings are objects with many helpful methods. Methods are functions that are bound to a certain type of data. You invoke a method on an object using the dot operator - a period \".\". Some examples:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"test_string = \"\\t\\tGoOfY Case stRing, wItH LOTS of, extra wHiTe space! \"\n",
"\n",
"# convert to lower case\n",
"lower_string = test_string.lower()\n",
"print( \"lower(): \\\"\" + lower_string + \"\\\"\" )\n",
"\n",
"# strip extra white space from either end of the string.\n",
"stripped_string = test_string.strip()\n",
"print( \"strip(): \\\"\" + stripped_string + \"\\\"\" )\n",
"\n",
"# remove commas\n",
"no_commas = test_string.replace( \",\", \"\" )\n",
"print( \"replace(): \\\"\" + no_commas + \"\\\"\" )\n",
"\n",
"# split string on spaces into a list of strings.\n",
"word_list = test_string.split()\n",
"print( word_list )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For a complete list of string methods, see the String Methods section of the official Python 2 documentation: [https://docs.python.org/2/library/stdtypes.html#string-methods](https://docs.python.org/2/library/stdtypes.html#string-methods)\n",
"\n",
"Also note the \"_`\\t`_\" and \"_`\\\"`_\" in the above example. Python has special escape characters that let you add white space, quotation marks, and other special characters to strings. Examples:\n",
"\n",
"- `\\t` - inserts a tab\n",
"- `\\n` - inserts a newline\n",
"- `\\\"` - inserts a double-quote in a double-quoted string"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Lists\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"Lists and dictionaries are two of the most versatile data types available in Python. A list is a sequence of values in a set order. They are declared by entering a comma-separated list of values enclosed by square brackets. Items in a list do not have to be of the same type. Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# list of strings\n",
"string_list = [ \"one\", \"two\", \"three\" ]\n",
"print( string_list )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can access a given item in a list using its index. Lists are 0-indexed, so to get the first thing you ask for index 0, the second thing is at index 1, etc. (it is related to the C language and how that language dealt with memory pointers - if you want to know more, let me know):"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# list of strings\n",
"string_list = [ \"one\", \"two\", \"three\" ]\n",
"print( \"first = \" + string_list[ 0 ] )\n",
"print( \"second = \" + string_list[ 1 ] )\n",
"\n",
"# you can also add a minus sign \"-\" to start from the right - this IS NOT zero-indexed.\n",
"print( \"last item in list = \" + string_list[ -1 ] )\n",
"\n",
"# and you can use this syntax to modify an element in a list\n",
"string_list[ 0 ] = \"zero\"\n",
"print( string_list )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lists have a number of functions and methods associated with them.\n",
"\n",
"Some functions include: cmp(list1, list2) len(list) max(list) min(list) list(seq)\n",
"\n",
"Some of the methods are: count(), index(obj)\n",
"\n",
"Some list methods are in-place. This means that the lists are changed, but the methods don't \"return\" anything. These include sort(), reverse(), insert(), append(), and remove.\n",
"\n",
"The full list of list methods: [https://docs.python.org/2/tutorial/datastructures.html#more-on-lists](https://docs.python.org/2/tutorial/datastructures.html#more-on-lists)\n",
"\n",
"Examples:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"string_list = [ \"one\", \"two\", \"three\", \"four\" ]\n",
"\n",
"# append an item to the list\n",
"string_list.append( \"five\" )\n",
"print( string_list )\n",
"\n",
"# insert something at the first position\n",
"string_list.insert( 0, \"zero\" )\n",
"print( string_list )\n",
"\n",
"# length of list?\n",
"print( str( len( string_list ) ) )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"More information on lists:\n",
"- [http://introtopython.org/lists_tuples.html](http://introtopython.org/lists_tuples.html)\n",
"- [https://docs.python.org/2/tutorial/datastructures.html#more-on-lists](https://docs.python.org/2/tutorial/datastructures.html#more-on-lists)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Dictionaries\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"Dictionaries store information in key-value pairs, so that any one piece of information in a dictionary is connected to at least one other piece of information. Keys and values can be of any type.\n",
"\n",
"Dictionaries do not store their information in any particular order, so you may not get your information back in the same order you entered it.\n",
"\n",
"Examples of making dictionaries:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# make a dictionary on one line:\n",
"test_dict = { \"name1\" : \"value1\", \"name2\" : \"value2\", \"name3\" : \"value3\" }\n",
"print( test_dict )\n",
"\n",
"# or, one item per line:\n",
"test_dict2 = {\n",
" \"name1\" : \"value1\",\n",
" \"name2\" : \"value2\",\n",
" \"name3\" : \"value3\"\n",
"}\n",
"print( test_dict2 )\n",
"\n",
"# create an empty dictionary (preferred):\n",
"empty_dict = {}\n",
"\n",
"# OR (though it is supposedly much slower)\n",
"another_empty_dict = dict()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can access a given value in or add a new value to a dictionary using its name and the same square-bracket syntax used to get a particular item in a list. You can use the `del()` function to remove an item from the dictionary. You can also use the \"in\" operator to see if a name is present in a dictionary."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# make a dictionary:\n",
"test_dict = { \"name1\" : \"value1\", \"name2\" : \"value2\", \"name3\" : \"value3\" }\n",
"\n",
"# add a fourth name and value\n",
"test_dict[ \"name4\" ] = \"value4\"\n",
"print( test_dict )\n",
"\n",
"# note that the items are not in order.\n",
"\n",
"# get value for name2\n",
"value_2 = test_dict[ \"name2\" ]\n",
"print( \"Value for name2 = \\\"\" + value_2 + \"\\\"\" )\n",
"\n",
"# remove name and value for name 2\n",
"del( test_dict[ \"name2\" ] )\n",
"print( \"==> removed name2:\" )\n",
"print( test_dict )\n",
"\n",
"# get the value for name3, but a little fancier.\n",
"desired_name = \"name3\"\n",
"if ( desired_name in test_dict ):\n",
"\n",
" # name is in the dictionary, get its value.\n",
" desired_value = test_dict[ desired_name ]\n",
" print( \"Value for \" + desired_name + \" = \\\"\" + desired_value + \"\\\"\" )\n",
" \n",
"else:\n",
" \n",
" # name not present.\n",
" print( \"name \\\"\" + desired_name + \"\\\" not present in dictionary.\" )\n",
"\n",
"#-- END check to see if name in dict --#"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Dictionaries have their own set of functions and methods just like lists do, and since values can be of any type, you can create substantially complex data structures using dictionaries, including dictionaries where each name references a dictionary or a list. This is advanced so we'll leave that for another time, but the link below goes into more detail if you are interested.\n",
"\n",
"More information on dictionaries:\n",
"\n",
"- [http://introtopython.org/dictionaries.html](http://introtopython.org/dictionaries.html)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. Flow of Control\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"The real power of computing is selection and repetition. Selection is when you use comparison operators to direct which path the program should take (`if...elif..else...`). Repetition is when code is executed multiple times (`for`, `while` loops).\n",
"\n",
"_NOTE: Python uses indentation to keep track of where a given statement belongs in nested constructs like those below. In Python, it is VERY important to be consistent in your indentation. It is standard to use spaces, not tabs, for indentation, and to indent 4 spaces per level._"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### if...elif...else\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"An if statement tests for a condition, and then responds to that condition. If the condition is true, then whatever action is listed next gets carried out. You can test for multiple conditions at the same time, and respond appropriately to each condition.\n",
"\n",
"Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# A list of desserts I like.\n",
"desserts = [ 'ice cream', 'chocolate', 'apple crisp', 'cookies' ]\n",
"favorite_dessert = 'apple crisp'\n",
"\n",
"# Print the desserts out, but let everyone know my favorite dessert.\n",
"for dessert in desserts:\n",
"\n",
" # is this dessert my favorite?\n",
" if dessert == favorite_dessert:\n",
"\n",
" # This dessert is my favorite, let's let everyone know!\n",
" print( dessert + \" is my favorite dessert!\" )\n",
"\n",
" # Use else to deal with case where condition is false.\n",
" else:\n",
"\n",
" # I like these desserts, but they are not my favorite.\n",
" print( \"I like \" + dessert )\n",
" \n",
" #-- END check to see if favorite dessert --#\n",
" \n",
"#-- END loop over desserts --#\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Every `if` statement evaluates to `True` or `False` (Python's `bool` keywords). You can test for the following conditions in your `if` statements:\n",
"\n",
"- equality (==)\n",
"- inequality (!=)\n",
"- greater than (>)\n",
"- greater than or equal to (>=)\n",
"- less than (<)\n",
"- less than or equal to (<=)\n",
"- You can test if an item is `in` a list.\n",
"\n",
"You can also chain together a series of conditions using the `elif` operator:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# make list of dogs\n",
"dogs = ['willie', 'hootz', 'peso', 'monty', 'juno', 'turkey']\n",
"\n",
"# get dog count\n",
"dog_count = len( dogs )\n",
"\n",
"# do different things based on different numbers of dogs.\n",
"if dog_count >= 5:\n",
" print(\"Holy mackerel \" + str( dog_count ) + \" dogs! We might as well start a dog hostel!\")\n",
"elif dog_count >= 3:\n",
" print(\"Wow, we have a lot of dogs here!\")\n",
"else:\n",
" print( \"Okay, this is a reasonable number of dogs.\" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### loops\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"Python has two looping constructs that allow you to repeat a chunk of code until either you iterate through a list (`for` loop) or a criteria is met (`while` loop).\n",
"\n",
"The `for` statement in Python iterates over the items of any sequence (a list or a string), in the order that they appear in the sequence. For example (no pun intended), from above:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# A list of desserts I like.\n",
"desserts = [ 'ice cream', 'chocolate', 'apple crisp', 'cookies' ]\n",
"favorite_dessert = 'apple crisp'\n",
"\n",
"# Print the desserts out, but let everyone know my favorite dessert.\n",
"for dessert in desserts:\n",
"\n",
" # is this dessert my favorite?\n",
" if dessert == favorite_dessert:\n",
"\n",
" # This dessert is my favorite, let's let everyone know!\n",
" print( dessert + \" is my favorite dessert!\" )\n",
"\n",
" # Use else to deal with case where condition is false.\n",
" else:\n",
"\n",
" # I like these desserts, but they are not my favorite.\n",
" print( \"I like \" + dessert )\n",
" \n",
" #-- END check to see if favorite dessert --#\n",
" \n",
"#-- END loop over desserts --#\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`for` loops can also be used to loop over dictionaries using the `.items()` dictionary method to iterate over each name-value pair:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# make a dictionary:\n",
"test_dict = { \"name1\" : \"value1\", \"name2\" : \"value2\", \"name3\" : \"value3\" }\n",
"\n",
"# loop!\n",
"for current_name, current_value in test_dict.items():\n",
"\n",
" print( \"name = \\\"\" + current_name + \"\\\"; value = \\\"\" + current_value + \"\\\"\" )\n",
" \n",
"#-- END loop over test_dict --#"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A `while` loop tests an initial condition. If that condition is true, the loop starts executing. Every time the loop finishes, the condition is reevaluated. As long as the condition remains true, the loop keeps executing. As soon as the condition becomes false, the loop stops executing. Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"is_OK_to_go_on = True\n",
"\n",
"# OK to go on?\n",
"my_counter = 0\n",
"while is_OK_to_go_on is True:\n",
" \n",
" # yes - OK to go on.\n",
" print( str( my_counter ) + \" - Go on!\" )\n",
" \n",
" # increment counter\n",
" my_counter += 1\n",
" \n",
" # if counter greater than 5, don't go on.\n",
" if my_counter > 5:\n",
" \n",
" # don't go on.\n",
" is_OK_to_go_on = False\n",
" \n",
" #-- END check to see if counter is too high. --#\n",
"\n",
"#-- END check to see if OK to go on... --# \n",
"\n",
"# no - What is the use...\n",
"print( \"I guess I'll stop...\" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With while loops, you need to be careful to initialize variables and code your boundary logic properly so you don't accidentally make your loop go on forever.\n",
"\n",
"For example, if you wanted to make the code above loop forever, change the comparison operator in `if my_counter > 5:` to `==`: `if my_counter == 5:`, then initialize my_counter to 6 before entering the loop. It is good to note here that if you try this, you can stop the running program by hitting the big black square button above. Or you might also just crash Firefox and have to kill it and the Jupyter server, and restart everything (as I just did while creating this)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Nested control structures\n",
"\n",
"As you can see from the examples above, you can nest conditionals and loops inside other conditionals and loops, and you can do this nesting as many levels deep as you need to (though it is polite to break up different levels of deeply nested code into functions, to make the code more modular and readable). To place a loop or conditional inside another parent loop or conditional, start the \"for\" or \"if\" statement of the second, nested control structure at the same indentation level as the rest of the code inside the outer loop or conditional branch, then indent the code inside the nested block 4 more spaces past the indentation of the nested statement itself.\n",
"\n",
"For more information on control flow in Python, see:\n",
"\n",
"- [https://docs.python.org/2/tutorial/controlflow.html](https://docs.python.org/2/tutorial/controlflow.html)\n",
"- [http://introtopython.org/while_input.html](http://introtopython.org/while_input.html)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. Function Basics\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"_Based in part on information in [http://introtopython.org/introducing_functions.html](http://introtopython.org/introducing_functions.html)_\n",
"\n",
"\"Functions are 'self contained' modules of code that accomplish a specific task. Functions usually 'take in' data, process it, and 'return' a result. Once a function is written, it can be used over and over and over again. Functions can also be 'called' from the inside of other functions.\" ( [http://www.cs.utah.edu/~germain/PPS/Topics/functions.html](http://www.cs.utah.edu/~germain/PPS/Topics/functions.html) )\n",
"\n",
"Breaking code out into functions (or perhaps eventually objects) so it can be re-used is a way to make your programs more reliable and easier to maintain. If something in a function breaks, when you fix it there, it is fixed everywhere the function is called. This does also mean that everwhere that called the function was broken before the fix. But having reusable code that is widely used also means that you will be more likely to catch problems sooner than you would if the code wasn't re-used.\n",
"\n",
"Here is what a function definition looks like:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def <function_name>( <param_list> ):\n",
"\n",
" '''\n",
" Documentation string that explains what the function does.\n",
" '''\n",
"\n",
" # return reference\n",
" status_OUT = \"Success!\"\n",
"\n",
" # indented stuff that is part of the function. If there is an error, change status_OUT to an error message.\n",
"\n",
" return status_OUT\n",
"\n",
"#-- END function <function_name> --#"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Where:\n",
"\n",
"- `<function_name>` is the name you'll reference when you call your function. Usually a function name is all lower case with underscores between words, just like a variable name. It should be precise and specific, and will often start with a verb and end with the object of the verb. Here, again, \"x\" is not a good function name. Something like \"get_dictionary_value_as_int()\" is better.\n",
"- `<param_list>` can either be empty (so no parameters defined here), or could be one or more names of parameters you want passed to your function in a comma delimited list.\n",
" - you can make parameters optional, as well, but setting a default value in the function declaration.\n",
"- you should always place a documentation string just after the declaration, inside the function. This is a multi-lined comment (surrounded by `'''`) that explains what the function does.\n",
"- if your function returns something, you should define it at the top, and return it at the bottom. Don't fall out of the function in the middle.\n",
"- for variables you declare and use inside a function, declare them at the top of the function and initialize them to their empty state.\n",
"\n",
"Example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# define function that retrieves a dictionary value as an integer\n",
"def get_dictionary_value_as_int( dict_IN, name_IN, default_IN = -1 ):\n",
" \n",
" '''\n",
" Accepts a dictionary, a name, and a default value to be used if the\n",
" name is not in the dictionary. Returns value for the name, after\n",
" casting it to an integer. If the value can't be converted to an\n",
" integer, throws an exception.\n",
" '''\n",
" \n",
" # return reference\n",
" value_OUT = -1\n",
" \n",
" # is the name present in the dictionary?\n",
" if ( name_IN in dict_IN ):\n",
" \n",
" # retrieve the value\n",
" value_OUT = dict_IN.get( name_IN, default_IN )\n",
" \n",
" # convert to integer\n",
" value_OUT = int( value_OUT )\n",
" \n",
" else:\n",
" \n",
" # not present. Return default.\n",
" value_OUT = default_IN\n",
" \n",
" #-- END check to see if name is in dictionary --#\n",
" \n",
" # return the result.\n",
" return value_OUT\n",
"\n",
"#-- END function get_dictionary_value_as_int() --#\n",
"\n",
"# make a dictionary\n",
"test_dictionary = { \"name1\" : \"value1\", \"name2\" : \"2\", \"name3\" : \"value3\" }\n",
"\n",
"# get the value for name2 as an integer\n",
"int_value = get_dictionary_value_as_int( test_dictionary, \"name2\", -1 )\n",
"\n",
"# print the value\n",
"print( \"Int value returned = \" + str( int_value ) )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6. Reading from a File\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"Reading from a file in Python is very straight forward. You use the `open()` function to open a file and store a reference to the file in a variable. Once a file is open, you can loop over the lines in a file just like you would a list, store the entire contents of the file in a variable, or read each line of the file into a list that you can iterate over later. Then, once you are done reading, you call the `.close()` method on the file variable to close out the file.\n",
"\n",
"The `open()` function accepts two arguments:\n",
"\n",
"- filename - the name or path of the file you want to open. If you just pass a file name, Python will look in the current working directory for a file with that name. If you pass a full path, Python will try to access that path to open the file.\n",
"- mode - a string that tells the open command how you intend to interact with the file you are opening. Values:\n",
"\n",
" - \"r\" - read-only access.\n",
" - \"w\" - write-only, and if file already exists, it will be overwritten.\n",
" - \"a\" - write-only, but appends to end of file if it already exists.\n",
" - \"r+\" - read and write.\n",
" - for a binary file rather than a text file, append the letter \"b\" to the right of whichever mode you desire. So, for read-only binary, use mode \"rb\", etc.\n",
"\n",
"#### Example:\n",
"\n",
"The example below uses the file \"tweet_sample_sample.txt\". If you'd like to run it, you'll need to download this file from here: [http://data.jrn.cas.msu.edu/files/twitter/tweet_sample_sample.txt](http://data.jrn.cas.msu.edu/files/twitter/tweet_sample_sample.txt), then upload it to the same directory where you uploaded this notebook."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# store file name.\n",
"file_name = \"tweet_sample_sample.txt\"\n",
"\n",
"# open the file.\n",
"my_file = open( file_name, \"r\")\n",
"\n",
"# loop over lines in file.\n",
"for current_line in my_file:\n",
"\n",
" # print the line\n",
" print( current_line )\n",
"\n",
"#-- END loop over lines of file --#\n",
" \n",
"# always remember to close the file after you are done.\n",
"my_file.close()\n",
"\n",
"# OR - the \"with\" statement always closes the file for you! Use it!\n",
"with open( file_name) as opened_file:\n",
"\n",
" # loop over lines in file.\n",
" for current_line in my_file:\n",
"\n",
" # print the line\n",
" print( current_line )\n",
"\n",
" #-- END loop over lines of file --#\n",
" \n",
"#-- END with open( file_name ) --#\n",
"\n",
"# file is closed!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For more information on reading from and writing to files in Python:\n",
"\n",
"- [https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files](https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files)\n",
"- [http://www.diveintopython.net/file_handling/file_objects.html](http://www.diveintopython.net/file_handling/file_objects.html)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 7. Working with CSV Files\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"A more specific example of reading a file that you'll likely encounter frequently is reading \"CSV\" files. The term \"CSV\" refers to comma-separated values. A CSV file is a text file in which tabular data is output one record to a line, with the values in each record/line separated by a comma ( \",\" ).\n",
"\n",
"The term CSV is often also used generally to describe any file with delimited data, including files that have tabs or pipes ( \"|\" ) as delimiters rather than commas, and that can have different strategies of escaping or quoting characters so that column values can contain free form text data, including commas and newlines.\n",
"\n",
"While you could try writing your own (see [Why not just write your own?](#Why_not_just_write_your_own?) below), the number of potential variations on this pattern are huge and Python offers two good options for reading and manipulating CSV data: the built-in `csv` package and the `pandas` package.\n",
"\n",
"\n",
"\n",
"### Using `csv` to work with CSV files\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"The `csv` package offers a straightforward, configurable way to read and process a wide variety of formats of delimited files. To use it, you first open the file for reading as we did in the example above. Then, you call the method `csv.reader()`, passing it the opened file and any parameters you'd like to specify the internal format of the file. `csv.reader()` then returns an iterator that you can loop over that gives you back the values for each record in a list, in the order they appeared in the file, one record/line at a time.\n",
"\n",
"There are a number of options you can pass `csv.reader()` to tell it exactly how your file is formatted, including the value `delimiter`, the type of `quoting` used on string values in the file, the `lineterminator`, and whether the parser should `skipinitialspace` (skip white space before and after delimiters). It also can accept a `dialect` that ties together values for all the options it knows about for common formats.\n",
"\n",
"Even just getting these options right for a given file can be tricky, and often involves trial and error. Most of the time it is a good idea to try a built-in dialect first (\"excel-tab\" for tab-delimited files, for example, or \"excel\" for comma-delimited files), then customize from there depending on what problems you find in the output.\n",
"\n",
"#### Example:\n",
"\n",
"The example below uses the file \"tweet_sample_sample.txt\". If you'd like to run it, you'll need to download this file from here: [http://data.jrn.cas.msu.edu/files/twitter/tweet_sample_sample.txt](http://data.jrn.cas.msu.edu/files/twitter/tweet_sample_sample.txt), then upload it to the same directory where you uploaded this notebook."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from __future__ import unicode_literals\n",
"\n",
"# imports\n",
"import csv\n",
"\n",
"# declare variables\n",
"tab_delimited_file = None\n",
"tweet_reader = None\n",
"tweet_counter = -1\n",
"field_count = -1\n",
"current_tweet_row = None\n",
"\n",
"# variables to hold field values\n",
"tweet_timestamp = \"\"\n",
"twitter_tweet_id = \"\"\n",
"tweet_text = \"\"\n",
"tweet_language = \"\"\n",
"twitter_user_twitter_id = \"\"\n",
"twitter_user_screenname = \"\"\n",
"\n",
"# open the data file for reading.\n",
"with open( 'tweet_sample_sample.txt', 'r' ) as tab_delimited_file:\n",
"\n",
" # feed the file to csv.reader to parse.\n",
" tweet_reader = csv.reader( tab_delimited_file, dialect = csv.excel_tab )\n",
" \n",
" # individual arguments\n",
" # tweet_reader = csv.reader( tab_delimited_file, delimiter = '\\t', quotechar = '\\\"', strict = True, lineterminator = \"\\n\" )\n",
"\n",
" # loop over logical rows in the file.\n",
" tweet_counter = 0\n",
" for current_tweet_row in tweet_reader:\n",
"\n",
" tweet_counter = tweet_counter + 1\n",
" field_count = len( current_tweet_row )\n",
"\n",
" # print some info\n",
" # print( \"====> line \" + str( tweet_counter ) + \" - \" + str( field_count ) + \" fields - text: \" + '|||'.join( current_tweet_row ) )\n",
"\n",
" # only do stuff after first row\n",
" if ( tweet_counter > 1 ):\n",
"\n",
" # get some fields\n",
" tweet_timestamp = unicode( current_tweet_row[ 0 ], \"UTF-8\" )\n",
" twitter_tweet_id = unicode( current_tweet_row[ 1 ], \"UTF-8\" )\n",
" tweet_text = unicode( current_tweet_row[ 2 ], \"UTF-8\" )\n",
" tweet_language = unicode( current_tweet_row[ 3 ], \"UTF-8\" )\n",
" twitter_user_twitter_id = int( current_tweet_row[ 4 ] )\n",
" twitter_user_screenname = unicode( current_tweet_row[ 5 ], \"UTF-8\" )\n",
" \n",
" # print tweet ID\n",
" print ( \"====> line \" + str( tweet_counter ) + \" - \" + str( field_count ) + \" Twitter Tweet ID = \" + twitter_tweet_id )\n",
"\n",
" #-- END check to see if we are past the first row. --#\n",
"\n",
" #-- END loop over rows in file --#\n",
"\n",
"#-- END use of tab_delimited_file --#"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For more information on Python's built-in `csv` module:\n",
"\n",
"- [https://docs.python.org/2/library/csv.html](https://docs.python.org/2/library/csv.html)\n",
"- [https://pymotw.com/2/csv/](https://pymotw.com/2/csv/)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Using `pandas` to work with CSV files\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"The `pandas` package provides another way to work with CSV files. `pandas`, the Python Data Analysis Library \"is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.\" - from [http://pandas.pydata.org/](http://pandas.pydata.org/)\n",
"\n",
"`pandas` provides a rich set of data structures and functions for processing and analyzing data. For working with CSV files, `pandas` provides the `read_csv()` function, one of its I/O tools that allow one to read from and write to a range of formats, from text-based file formats like CSV, XML, and JSON to SQL databases and the Stata statistical package [http://pandas.pydata.org/pandas-docs/stable/io.html](http://pandas.pydata.org/pandas-docs/stable/io.html). \n",
"\n",
"The `pandas.read_csv()` function accepts the same arguments you can pass `csv.reader()`, but it also accepts a much broader range of configuration options that let you more precisely specify the format of the data you want it to read than one can with the `csv` package [http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table](http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table).\n",
"\n",
"When `pandas` parses a CSV file, it also returns the result in a DataFrame, a tabular representation of the data that one can iterate over, just like they can the results of `csv.reader()`, but that can also be filtered, sliced, used to make subsets, converted to time-series data, pivoted, analyzed, used to derive additional data columns, and easily exported to as the same wide range of data formats `pandas` is capable of importing from.\n",
"\n",
"#### Example\n",
"\n",
"In the example below, we use `pandas` to parse and iterate over the same tab-delimited file of tweets that we read using `csv.reader()` above, so you can see a comparison of how the two work. Note that you can reference the values in a given row either by their column number or the name that corresponded to that column in the first row of the data file.\n",
"\n",
"This example also uses the file \"tweet_sample_sample.txt\". If you'd like to run it, you'll need to download this file from here: [http://data.jrn.cas.msu.edu/files/twitter/tweet_sample_sample.txt](http://data.jrn.cas.msu.edu/files/twitter/tweet_sample_sample.txt), then upload it to the same directory where you uploaded this notebook."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": [
"# imports\n",
"import pandas\n",
"\n",
"# declare variables\n",
"csv_file_path = \"tweet_sample_sample.txt\"\n",
"csv_tweets_data_frame = None\n",
"tweet_counter = -1\n",
"field_count = -1\n",
"current_tweet_row = None\n",
"\n",
"# variables to hold field values\n",
"tweet_timestamp = \"\"\n",
"twitter_tweet_id = \"\"\n",
"tweet_text = \"\"\n",
"tweet_language = \"\"\n",
"twitter_user_twitter_id = \"\"\n",
"twitter_user_screenname = \"\"\n",
"\n",
"# read the CSV file into a pandas data frame.\n",
"# - more details: http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table\n",
"csv_tweets_data_frame = pandas.read_csv( csv_file_path, dialect = csv.excel_tab, encoding = \"utf-8\" )\n",
"\n",
"print( \"CSV file \\\"\" + csv_file_path + \"\\\" opened.\" )\n",
"\n",
"# process rows\n",
"tweet_counter = 0\n",
"for index, current_tweet_row in csv_tweets_data_frame.iterrows():\n",
" \n",
" tweet_counter = tweet_counter + 1\n",
" field_count = len( current_tweet_row )\n",
"\n",
" # print some info\n",
" # print( \"====> row \" + str( tweet_counter ) + \" - \" + str( field_count ) + \" fields - text: \" + '|||'.join( current_tweet_row ) )\n",
"\n",
" '''\n",
" # get some fields using column indices\n",
" tweet_timestamp = current_tweet_row[ 0 ]\n",
" twitter_tweet_id = current_tweet_row[ 1 ]\n",
" tweet_text = current_tweet_row[ 2 ]\n",
" tweet_language = current_tweet_row[ 3 ]\n",
" twitter_user_twitter_id = int( current_tweet_row[ 4 ] )\n",
" twitter_user_screenname = current_tweet_row[ 5 ]\n",
" '''\n",
"\n",
" # get some fields using column names\n",
" tweet_timestamp = current_tweet_row[ \"tweet_timestamp\" ]\n",
" twitter_tweet_id = current_tweet_row[ \"twitter_tweet_id\" ]\n",
" tweet_text = current_tweet_row[ \"tweet_text\" ]\n",
" tweet_language = current_tweet_row[ \"tweet_language\" ]\n",
" twitter_user_twitter_id = int( current_tweet_row[ \"twitter_user_twitter_id\" ] )\n",
" twitter_user_screenname = current_tweet_row[ \"twitter_user_screenname\" ]\n",
"\n",
" # print tweet ID\n",
" print ( \"====> row \" + str( tweet_counter ) + \", index \" + str( index ) + \" - \" + str( field_count ) + \" fields - Twitter Tweet ID = \" + str( twitter_tweet_id ) )\n",
"\n",
"#-- END loop over DataFrame rows. --#"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For more information on the `pandas` module:\n",
"\n",
"- intro to `pandas`: [http://pandas.pydata.org/pandas-docs/stable/10min.html](http://pandas.pydata.org/pandas-docs/stable/10min.html)\n",
"- `pandas` IO tools overview: [http://pandas.pydata.org/pandas-docs/stable/io.html](http://pandas.pydata.org/pandas-docs/stable/io.html)\n",
"- Advanced `pandas` delimited file recipes: [http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook-csv](http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook-csv)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### How about writing your own CSV code?\n",
"\n",
"- [Back to Table of Contents](#Table-of-Contents)\n",
"\n",
"If you just think about one record per line, and commas separating each value in the line, this sounds pretty straightforward, right? Use the previous section's file reading code, for each line, split the line's contents into a list on commas, and then you have a list of the values. Done.\n",
"\n",
"- ...until you have a string column that could include commas. So you escape the commas by putting a back slash in front of them ( \"\\\" ). Done again.\n",
"\n",
"- ...until you realise that these strings could also have newlines in them. Hmmm. So you could enclose string column values in quotation marks, or some other delimiter. But if the string contains that delimiter, you'd need a way to alter the contents of the string so that if the delimiter is inside, it is hidden until it is time to look at the value.\n",
"\n",
"- ...and you need code to abstract the idea of a \"record\" so it no longer is a single line, but one or more lines where the record ends on a newline at the point where the exact number of values that a record is supposed to have have been retrieved from the file.\n",
"\n",
"- ...and you happen upon a different field delimiter. Supporting multiple delimiters shouldn't be that hard, right?\n",
"\n",
" And what do you do about commas in the quoted string? Escape them, too, still? So your program either needs to know about all the things that could be escaped in a string value and how they'll be transformed inside the value, or you need a universal algorithm for escaping characters in a string, and a program to unescape the string when you access it.\n",
"\n",
"And there you have at least a week of work, and constant ongoing debugging as you find new and creative file formats that are almost what you support, but not quite (there are a gajillion variations on and screw-ups of this basic format).\n",
"\n",
"It is a great exercise to try to make your own CSV reader (every programmer runs aground on that sand bar at least once in their career), but in general, if you can find a quality, maintained library that does something you need to do, I'd recommend just using a library rather than writing your own."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
"tweet_timestamp" "twitter_tweet_id" "tweet_text" "tweet_language" "twitter_user_twitter_id" "twitter_user_screenname" "user_followers_count" "user_favorites_count" "user_created" "user_location" "tweet_retweet_count" "tweet_place" "tweet_user_mention_count" "tweet_users_mentioned_screennames" "tweet_users_mentioned_ids" "tweet_hashtag_mention_count" "tweet_hashtags_mentioned" "tweet_url_count" "tweet_shortened_urls_mentioned" "tweet_full_urls_mentioned" "user_description" "user_friends_count" "user_statuses_count" "tweet_display_urls_mentioned"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564410881" "take a sad song, and make it better" "en" "1579291261" "lesbeatles" "1426" "1224" "Tue Jul 09 03:07:25 +0000 2013" "canada" "0" "♡ | lotr ; the beatles ; sherlock ; house ; marvel ; hp |" "116" "14111"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564431360" "RT @____MGWV____: ( ( ( ( ( ( #FOLLOWTRICK ) ) ) ) ) )
(1) RETWEET
(2) FOLLOW ALL WHO RT
(3) FOLLOWBACK
(4) GAIN WITH #MGWV
(5) FOLLOW&#8230;" "en" "2843262459" "ynco_kj" "285" "402" "Sat Oct 25 05:00:15 +0000 2014" "W/ His Bang Bro ✊" "0" "2" "____MGWV____,ladiieivory" "2393024851,820369052" "2" "FOLLOWTRICK,MGWV" "R.I.P Mario ✊ #Free Dj✨ ✨YncoGang✨ Ty Takeover ‼️" "215" "1324"
"Sun Feb 08 20:15:19 +0000 2015" "564517855572791296" "Very cool to see @miguelibarra1 getting his first start for the #USMNT." "en" "64179075" "JeremyPond" "7232" "12649" "Sun Aug 09 14:07:58 +0000 2009" "NYC/DC/Toronto " "0" "1" "miguelibarra1" "60809212" "1" "USMNT" "Publicist to USMNT/Toronto FC striker Jozy Altidore; owner of Aspen Collective; director of communications/PR at James Grant Sports. PR maven. Opinions my own." "900" "81213"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568625665" "LEs moon boots rouge de Popeye on les a chez moi ahah" "fr" "103543754" "xMathildeB" "839" "635" "Sun Jan 10 11:06:20 +0000 2010" "France" "0" "« You know what they say about hope. It breeds eternal misery. »Troian B. Jlaw. Gwen S. No Doubt. Shy'M. PLL. GA. TVD. OUAT. #TeamManaudou ♥ #potterhead" "786" "85503"
"Sun Feb 08 20:15:19 +0000 2015" "564517855589580801" "&#1084;&#1085;&#1077; &#1078;&#1077;&#1085;&#1072; &#1087;&#1088;&#1080;&#1085;&#1077;&#1089;&#1105;&#1090; &#1088;&#1086;&#1089;&#1090;&#1086;&#1082;" "ru" "2815070257" "ukm_max_ipb" "1" "0" "Wed Sep 17 14:32:06 +0000 2014" "" "0" "Кто хочет приносить пользу, тот и с буквально связанными руками может сделать бездну добра." "0" "226"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564402688" "RT @markhenton: @TheMiniMagician Starter for 10...
#justsaying http://t.co/uz5Vx93wGj" "en" "379242763" "TheMiniMagician" "164" "968" "Sat Sep 24 16:24:47 +0000 2011" "" "0" "2" "markhenton,TheMiniMagician" "381112907,379242763" "1" "justsaying" "Wife of @monkeyinabasket, wanna be writer, photographer and super hero. Always loving life and the people I share it with." "418" "4170"
"Sun Feb 08 20:15:19 +0000 2015" "564517855585370112" "Sto guardando Il pap&#224; di Giovanna. #Ilpap&#224;diGiovanna" "it" "19358428" "Fondano" "726" "557" "Thu Jan 22 20:16:05 +0000 2009" "dove c'è battaglia" "0" "1" "IlpapàdiGiovanna" "Twitto da gen 2009. E voi? chi mi ama mi segua. Gli altri pure." "1979" "1188"
"Sun Feb 08 20:15:19 +0000 2015" "564517855589564416" "&#1042;&#1089;&#1077;&#1084; &#1078;&#1077;&#1083;&#1072;&#1102; &#1087;&#1088;&#1080;&#1103;&#1090;&#1085;&#1099;&#1093; &#1089;&#1085;&#1086;&#1074;!" "ru" "184876062" "tokiohotel20by" "25727" "86" "Mon Aug 30 18:09:58 +0000 2010" "Россия, Курган" "0" "Кредитный рейтинг - мини выписка кредитной истории http://moy-expert.ru/cr/c0620076-3e74-4585-969e-5306e6969528/" "12563" "47721"
"Sun Feb 08 20:15:19 +0000 2015" "564517855597961216" "&#1084;&#1085;&#1077; &#1076;&#1086;&#1087;&#1077;&#1090;&#1100; &#1089;&#1074;&#1086;&#1080; &#1082;&#1091;&#1087;&#1083;&#1077;&#1090;&#1099;" "ru" "2566369896" "pjam93" "706" "1" "Sat Jun 14 03:45:57 +0000 2014" "" "0" "943" "2057"
"Sun Feb 08 20:15:19 +0000 2015" "564517855577014272" "&#1575;&#1604;&#1604;&#1607;&#1605; &#1606;&#1602;&#1606;&#1610; &#1605;&#1606; &#1582;&#1591;&#1575;&#1610;&#1575;&#1610; &#1603;&#1605;&#1575; &#1610;&#1606;&#1602;&#1609; &#1575;&#1604;&#1579;&#1608;&#1576; &#1575;&#1604;&#1571;&#1576;&#1610;&#1590; &#1605;&#1606; &#1575;&#1604;&#1583;&#1606;&#1587; &#1575;&#1604;&#1604;&#1607;&#1605; &#1575;&#1594;&#1587;&#1604;&#1606;&#1610; &#1605;&#1606; &#1582;&#1591;&#1575;&#1610;&#1575;&#1610; &#1576;&#1575;&#1604;&#1605;&#1575;&#1569; &#1608;&#1575;&#1604;&#1579;&#1604;&#1580; &#1608;&#1575;&#1604;&#1576;&#1585;&#1583; http://t.co/Acohw4UqHh" "ar" "1158251298" "roa2_1996" "228" "478" "Thu Feb 07 21:03:19 +0000 2013" "" "0" "1" "http%3A%2F%2Ft.co%2FAcohw4UqHh" "http%3A%2F%2Fdu3a.org" "مواليد 1995 | جامعية ZDRSEDK4 | UQU# | متابعة للإعلام المحافظ | مكة" "498" "7162" "du3a.org"
"Sun Feb 08 20:15:19 +0000 2015" "564517855577010176" "&#1089;&#1082;&#1072;&#1083;&#1099; &#1086;&#1085;&#1083;&#1072;&#1081;&#1085; http://t.co/xFr3vOb5oc &#1057;&#1086;" "ru" "2822504637" "richardoyapekel" "107" "0" "Sat Oct 11 11:35:10 +0000 2014" "Россия" "0" "1" "http%3A%2F%2Ft.co%2FxFr3vOb5oc" "http%3A%2F%2F3x8efg.ttl.baltijalv.lv%2Fpreferring-266%2Fso-skaly-onlayn.html" "378" "6243" "3x8efg.ttl.baltijalv.lv%2Fpreferring-266%E2%80%A6"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564427265" "RT @LouisUniverses: RT if I havent added you in a solo dm with Harry yet!
I'm picking from the RTs &amp; add more people now! Turn on my notif&#8230;" "en" "91127095" "FearlessSwift1D" "1618" "1246" "Thu Nov 19 15:38:03 +0000 2009" "Buenos Aires,Argentina" "0" "1" "LouisUniverses" "583784183" "@taylorswift13 @onedirection ❤ ️@KatGraham & @TheOlgaFonda Follows #VampireDiaries @ninadobrev @shailenewoodley #Divergent #JenLaw #THG @selenagomez @lordemusic" "1999" "31556"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568605185" "@Cj2000Cain HaHa check this out http://t.co/8vqUF3IsuZ" "en" "241287491" "alexboult" "400" "438" "Fri Jan 21 22:24:11 +0000 2011" "stoke" "0" "1" "Cj2000Cain" "2447189585" "1" "http%3A%2F%2Ft.co%2F8vqUF3IsuZ" "http%3A%2F%2Fflashscore.ro%2Fredirect%2F%3Furl%3Dhttp%3A%2F%2Frdrctscm.appspot.com" "15" "384" "2158" "flashscore.ro%2Fredirect%2F%3Furl%3D%E2%80%A6"
"Sun Feb 08 20:15:19 +0000 2015" "564517855576981504" "Que le pinto?" "es" "155709346" "juancge22" "400" "454" "Mon Jun 14 22:08:11 +0000 2010" "El Bosque 60 y 118" "0" "Megadeth Divididos AlmaFuerte IKV Eruca Sativa L A Spinetta Pappo Hermetica Metallica Black Sabbath Pedro aznar Seru Giran Soda Sumo David Lebon Sabina y mas" "588" "7284"
"Sun Feb 08 20:15:19 +0000 2015" "564517855560237056" "&#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074; &#1076;&#1083;&#1103; &#1087;&#1086;&#1093;&#1091;&#1076;&#1077;&#1085;&#1080;&#1103; http://t.co/CvwhztigZK.... #&#1087;&#1086;&#1093;&#1091;&#1076;&#1077;&#1085;&#1080;&#1103; #&#1076;&#1083;&#1103; &#1048;&#1089;&#1090;&#1086;&#1088;&#1080;&#1103;" "ru" "1261823880" "MacAdamBoyle" "17" "0" "Tue Mar 12 12:14:49 +0000 2013" "" "0" "2" "похудения,для" "1" "http%3A%2F%2Ft.co%2FCvwhztigZK" "http%3A%2F%2Fift.tt%2F1M3m8BE" "2" "14971" "ift.tt%2F1M3m8BE"
"Sun Feb 08 20:15:19 +0000 2015" "564517855581184000" "RT @swingoriginal: Ante todo, conserva tu paz dominguera. Ante nada -m&#225;s que la cama- te doblegues." "es" "1011176508" "vale_chiluiza" "112" "36" "Fri Dec 14 13:48:15 +0000 2012" "" "0" "1" "swingoriginal" "452283152" "Si el infinito no hubiera deseado que el
hombre fuera sabio, no le habría otorgado la facultad de conocer" "200" "746"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564005376" "RT @KSABDO: &#8601;&#65039;&#9733;&#9733;&#9733; #&#1580;&#1600;&#1610;&#1575;&#1588;&#1610; &#8601;&#65039;
@KSABDO
&#128317;&#128317;&#128317;&#128317;
&#8601;&#8600;&#65039;
&#8601;&#8600;&#65039;
&#8601;&#65039;&#8600;&#65039;
&#8601;&#65039;&#8600;&#65039;
&#128095;&#10549;&#128095;&#10549;&#65039;
#&#1583;&#1593;&#1587; &#1605;&#1606; &#1610;&#1578;&#1591;&#1575;&#1608;&#1604; #&#1575;&#1604;&#1604;&#1607;_&#1579;&#1605;_&#1575;&#1604;&#1605;&#1604;&#1610;&#1603;_&#1608;&#1575;&#1604;&#1608;&#1591;&#1606;
&#10549;&#128095;&#10549;&#65039;&#128095;&#10549;&#65039;
&#10060;#&#1583;&#1593;&#1600;&#1587;_&#1604;&#1600;&#1600;&#1603;&#1604;&#8230;" "ar" "2433868165" "xefititozoxu" "34" "3258" "Tue Apr 08 16:22:00 +0000 2014" "London" "0" "2" "KSABDO,KSABDO" "617615892,617615892" "4" "جـياشي,دعس,الله_ثم_المليك_والوطن,دعـس_لــكل_نابــح" "Music fan , passionated" "1390" "33123"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564021762" "RT @unlockbrain: ""seni seviyorum. avu&#231;lar&#305;mda camdan bir &#351;ey gibi kalbimi s&#305;k&#305;p, parmaklar&#305;m&#305; kanatarak; k&#305;ras&#305;ya, &#231;&#305;ld&#305;ras&#305;ya.""" "tr" "3014313765" "derekheylx" "739" "721" "Tue Feb 03 11:57:36 +0000 2015" "" "0" "1" "unlockbrain" "1905343290" "chris wood follow me plz my dream" "60" "510"
"Sun Feb 08 20:15:19 +0000 2015" "564517855585374208" "Foto: http://t.co/evJIwbhA7t" "es" "194620256" "ariilima_" "108" "113" "Fri Sep 24 15:50:51 +0000 2010" "Brasil" "0" "1" "http%3A%2F%2Ft.co%2FevJIwbhA7t" "http%3A%2F%2Ftmblr.co%2FZiq4qx1cuNJyb" "I am not a freak, I was born with my free gun. #LittleMonster #TeamGaribay #Diamonds #SweetHeart #TeamLanaDelRey" "101" "80382" "tmblr.co%2FZiq4qx1cuNJyb"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568601088" "64 http://t.co/nlL9OJ0BVD" "und" "722881692" "veroniq29820334" "20" "4" "Sat Jul 28 21:52:04 +0000 2012" "" "0" "1" "http%3A%2F%2Ft.co%2FnlL9OJ0BVD" "http%3A%2F%2Fpinterest.com%2Fpin%2F493284965411412015%2F" "108" "3247" "pinterest.com%2Fpin%2F4932849654%E2%80%A6"
"Sun Feb 08 20:15:19 +0000 2015" "564517855593791492" "RT @CLINTSAVENGR: s t o p http://t.co/YWxo7hJkyb" "en" "2684170679" "captaincchris" "240" "1654" "Mon Jul 07 18:31:32 +0000 2014" "In a hole. in the ground." "0" "1" "CLINTSAVENGR" "1220142481" "lotr//hobbit//marvel//random stuff// #RenewAgentCarter" "187" "3606"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564402689" "RT @twitteer2m: 5000 &#1605;&#1578;&#1575;&#1576;&#1593; &#1582;&#1604;&#1610;&#1580;&#1610; &#1608;&#1593;&#1585;&#1576;&#1610; &#1576; 120 &#1585;&#1610;&#1575;&#1604;
10000 &#1605;&#1578;&#1575;&#1576;&#1593; &#1582;&#1604;&#1610;&#1580;&#1610; &#1608;&#1593;&#1585;&#1576;&#1610; &#1576; 200 &#1585;&#1610;&#1575;&#1604;
15000 &#1605;&#1578;&#1575;&#1576;&#1593; &#1582;&#1604;&#1610;&#1580;&#1610; &#1608;&#1593;&#1585;&#1576;&#1610; &#1576;300 &#1585;&#1610;&#1575;&#1604;
#&#1575;&#1604;&#1606;&#1589;&#1585; #&#1575;&#1604;&#1607;&#1604;&#1575;&#1604; #&#1575;&#1604;&#1575;&#8230;" "ar" "2908106289" "Anfbcveko" "781" "4" "Sat Dec 06 18:46:43 +0000 2014" "البحرين - الدمام" "0" "1" "twitteer2m" "2354732829" "4" "النصر,الهلال,الاتحاد,الاهلي" "شكرا للزيارة ..." "813" "13124"
"Sun Feb 08 20:15:19 +0000 2015" "564517855593787394" "Pow pow pow Bruce Willis mais comment il p&#232;se, je. &#128525;" "fr" "853274533" "AliineKatic" "778" "4074" "Sat Sep 29 17:21:15 +0000 2012" "France " "0" "18 yo / LCE Anglais / @Stana_katic & Robin Tunney & @bigEswallz / I'm a gladiator in a suit / Series addict / I ♡ U w/ all of my heart. Always" "848" "42358"
"Sun Feb 08 20:15:19 +0000 2015" "564517855572795392" "OgretmenlerSadece AtamaBekliyor ""30" "tr" "2968322128" "umtsun2" "4" "0" "Thu Jan 08 18:31:29 +0000 2015" "" "0" "16" "5808"
"Sun Feb 08 20:15:19 +0000 2015" "564517855580790784" "&#12480;&#12454;&#12531;&#65281;" "ja" "2548010371" "gensuruchan" "26" "0" "Thu Jun 05 11:53:16 +0000 2014" "" "0" "56" "67048"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564009473" "RT @jump_henshubu: &#26412;&#26085;&#12289;&#12472;&#12515;&#12531;&#12503;11&#21495;&#30330;&#22770;&#26085;&#65281;
&#34920;&#32025;&amp;&#24059;&#38957;&#12459;&#12521;&#12540;&#12399;&#12289;&#26032;&#36899;&#36617;&#31532;1&#24382;&#12300;&#12459;&#12460;&#12511;&#12460;&#12511;&#12301;&#65281;
&#12498;&#12540;&#12525;&#12540;&#12450;&#12459;&#12487;&#12511;&#12450;&amp;&#30959;&#20853;&#34907;&#12364;&#12475;&#12531;&#12479;&#12540;&#12459;&#12521;&#12540;&#65281;
&#26356;&#12395;&#12472;&#12515;&#12531;&#12503;&#65291;&#12424;&#12426;&#12289;&#9312;&#24059;&#30330;&#22770;&#35352;&#24565;&#12391;&#12289;&#22823;&#20154;&#27671;&#12469;&#12496;&#12452;&#12496;&#12523;&#12507;&#12521;&#12540; &#12300;&#12459;&#12521;&#12480;&#25506;&#12375;&#12301;&#12398;&#29305;&#21029;&#35501;&#20999;&#12364;&#30331;&#22580;&#65281;/M http://t&#8230;" "ja" "98339432" "JUMP_WJS" "3575" "421" "Mon Dec 21 09:56:51 +0000 2009" "" "0" "1" "jump_henshubu" "2656582075" "週間少年ジャンプ、その他集英社のマンガ・アニメなどを中心にニュース速報l、グッズ/フィギュア/書籍予約情報など配信!※非公式 #WJ" "1668" "197274"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568211970" "&#25658;&#24111;&#38651;&#35441;&#12469;&#12452;&#12488; (twtr.jp) &#12391;&#12484;&#12452;&#12540;&#12488;&#12398;&#21066;&#38500;&#12289;&#12522;&#12484;&#12452;&#12540;&#12488;&#12398;&#21462;&#12426;&#28040;&#12375;&#12364;&#12391;&#12365;&#12394;&#12356;&#12392;&#12356;&#12358;&#19981;&#20855;&#21512;&#12364;&#30330;&#29983;&#12375;&#12390;&#12362;&#12426;&#12414;&#12375;&#12383;&#12364;&#12289;&#35299;&#27770;&#33268;&#12375;&#12414;&#12375;&#12383;&#12290;&#12372;&#36855;&#24785;&#12434;&#12362;&#12363;&#12369;&#12375;&#22823;&#22793;&#30003;&#12375;&#35379;&#12372;&#12374;&#12356;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;" "ja" "3004493984" "shimadaparuru" "146" "0" "Sat Jan 31 07:53:02 +0000 2015" "" "0" "369" "255"
"Sun Feb 08 20:15:19 +0000 2015" "564517855564013570" "My fault &#128587;" "en" "1645574756" "ECJ179" "306" "3991" "Sun Aug 04 16:15:46 +0000 2013" "Instagram - ECJ179" "0" "They think they're good, i know im great. Chelsea is my best friend ❤️" "227" "14847"
"Sun Feb 08 20:15:19 +0000 2015" "564517855593377792" "RT @Ret0_Ret0: &#1586;&#1610;&#1575;&#1583;&#1577;_&#1605;&#1578;&#1575;&#1576;&#1593;&#1610;&#1606;
1-&#1601;&#1608;&#1604;&#1608; &#1605;&#1610;
2-&#1601;&#1608;&#1604;&#1608; &#1576;&#1575;&#1603;
3-&#1585;&#1578;&#1608;&#1610;&#1578; &#1604;&#1604;&#1578;&#1594;&#1585;&#1610;&#1583;&#1577;
4-&#1601;&#1608;&#1604;&#1608; &#1604;&#1604;&#1610; &#1593;&#1605;&#1604; &#1585;&#1578;&#1608;&#1610;&#1578;
5-&#1571;&#1588;&#1578;&#1585;&#1603; &#1576;&#1575;&#1604;&#1578;&#1591;&#1576;&#1610;&#1602;
http://t.co/BRB8MMedXP
.zz7" "ar" "1607269748" "cisocucyveny" "104" "1110" "Sat Jul 20 02:47:01 +0000 2013" "" "0" "1" "Ret0_Ret0" "2937299786" "1" "http%3A%2F%2Ft.co%2FBRB8MMedXP" "http%3A%2F%2Fwww.rtwity.com" "لا لا تحسبني يا الغظي من بعدكم بكيت %^% انا بس من فرحتي لفرقاكم ألمعت عيني" "29" "10745" "rtwity.com"
"Sun Feb 08 20:15:19 +0000 2015" "564517855572418560" "@psych4you &#1575;&#1604;&#1575;&#1582;&#1610;&#1585;" "ar" "827124673" "Rnoshi_mohammed" "132" "23" "Sun Sep 16 13:40:03 +0000 2012" "" "0" "1" "psych4you" "958869847" "Beautifall life with my 3 angels they are the source of my happiness .. 1988
Riyadh.." "99" "1417"
"Sun Feb 08 20:15:19 +0000 2015" "564517855580807168" "&#35211;&#12390;&#36016;&#12358;&#12398;&#12418;&#27005;&#12375;&#12356;&#65281;&#12415;&#12435;&#12394;&#12364;&#25126;&#12358;&#29702;&#30001;&#12364;&#21028;&#12387;&#12390;&#12365;&#12383;&#12431;('&#8704;`)&#9834;" "ja" "1466634582" "hatanokokoro_" "119" "0" "Wed May 29 07:34:29 +0000 2013" "" "0" "表情豊かなポーカーフェイス。感情を司る者。主に自らのセリフを放ってるだけで後後口数が増えますよ。" "93" "29128"
"Sun Feb 08 20:15:19 +0000 2015" "564517855593791490" "#&#1601;&#1610;&#1583;&#1610;&#1608;| &#1585;&#1574;&#1610;&#1587; &#1575;&#1604;&#1608;&#1586;&#1585;&#1575;&#1569; &#1575;&#1604;&#1605;&#1589;&#1585;&#1610;: &#1575;&#1604;&#1578;&#1587;&#1585;&#1610;&#1576; &#1605;&#1586;&#1608;&#1585; &#1608; &#1593;&#1604;&#1575;&#1602;&#1578;&#1606;&#1575; &#1605;&#1593; &#1583;&#1608;&#1604; &#1575;&#1604;&#1582;&#1604;&#1610;&#1580; &#1605;&#1576;&#1606;&#1610;&#1577; &#1593;&#1604;&#1609; &#1575;&#1604;&#1581;&#1576;
http://t.co/sqUeIFAq09
#&#1576;&#1585;&#1603;&#1607;" "ar" "1448169854" "fly_alwafi1" "825" "2062" "Wed May 22 06:47:35 +0000 2013" "@5alid_drr" "0" "2" "فيديو,بركه" "1" "http%3A%2F%2Ft.co%2FsqUeIFAq09" "http%3A%2F%2Fbrkaq8.com%2F64704.html" "الحساب الرئيسي" "760" "17693" "brkaq8.com%2F64704.html"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568207875" "Special Ops Staying Put in the Horn &#8211; For Now http://t.co/C0UaEDthj9" "en" "71883692" "ziadachkar" "1022" "4687" "Sat Sep 05 20:23:30 +0000 2009" "Greater New York City Area" "0" "1" "http%3A%2F%2Ft.co%2FC0UaEDthj9" "http%3A%2F%2Fforeignpolicy.com%2F2015%2F02%2F05%2Fspecial-ops-staying-put-in-the-horn-for-now%2F" "@myrwu 2012 Alum. Grad @shuDiplomacy '15. @JournalofDiplo Social Media Manager. Formerly with @HHI @UN. Policy, Security & International Affairs professional." "2001" "21100" "foreignpolicy.com%2F2015%2F02%2F05%2Fspe%E2%80%A6"
"Sun Feb 08 20:15:19 +0000 2015" "564517855589191680" "&#12435;&#12316;&#12316;&#37707;&#12289;&#23551;&#21496;&#12289;&#12362;&#32905;&#12289;&#12459;&#12524;&#12540;&#12290;&#20170;&#39135;&#12409;&#12383;&#12356;&#12418;&#12398;&#65281;&#65281;&#12354;&#12540;&#20840;&#28982;&#23517;&#12428;&#12394;&#12356;" "ja" "569957530" "erpy_85" "461" "495" "Thu May 03 13:01:24 +0000 2012" "横浜/渋谷/新宿" "0" "自分に甘々のクソ野郎" "459" "11639"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568199681" "&#12371;&#12398;&#20181;&#20107;&#12399;&#33136;&#12395;&#12367;&#12427;&#12397;&#12359;&#65374;&#12288;#&#21487;&#24859;&#12377;&#12366;&#12427;&#29356; http://t.co/MVO62Kxpom" "ja" "2192134914" "kawaisugiru_dog" "1372" "0" "Wed Nov 13 11:28:10 +0000 2013" "" "0" "1" "可愛すぎる犬" "可愛すぎて困っちゃうワンちゃん画像をツイートしています。 少しでも可愛いと思った方はフォロー&RTお願いします。 ★みなさんの愛犬画像も募集していますので、是非(画像とともに)気軽にメッセージ下さい。投稿に反映させて頂きます!" "1155" "10388"
"Sun Feb 08 20:15:19 +0000 2015" "564517855581208577" "RT @lmlyricpics: These Four Walls // Little Mix http://t.co/vjALNisIvE" "en" "485214814" "iLoveedlovato" "869" "1156" "Mon Feb 06 23:36:08 +0000 2012" "Argentina" "0" "1" "lmlyricpics" "2962797423" "{Jethro alonestar Sheeran (primo de Ed Sheeran) Follow me}
06/05/14 mejor día de mi vida. ❤Larry Shipper ❤" "1358" "3800"
"Sun Feb 08 20:15:19 +0000 2015" "564517855589584897" "same :) @ArianatorPalace" "en" "2728224973" "VegannAriana" "444" "2364" "Wed Aug 13 02:03:07 +0000 2014" "Honeymoon ave." "0" "1" "ArianatorPalace" "1330383481" "cause if the water dries up, and the moon stops shining, stars fall, and the world goes blind boy you know i'll be savin my love for u ☁️☁️☁️" "154" "1271"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568199682" "&#1575;&#1604;&#1604;&#1607;&#1605; &#1575;&#1587;&#1578;&#1585;&#1606;&#1575; &#1601;&#1608;&#1602; &#1575;&#1604;&#1575;&#1585;&#1590;
&#1608;&#1575;&#1587;&#1578;&#1585;&#1606;&#1575; &#1578;&#1581;&#1578; &#1575;&#1604;&#1575;&#1585;&#1590; &#1608;&#1575;&#1587;&#1578;&#1585;&#1606;&#1575; &#1610;&#1608;&#1605; &#1575;&#1604;&#1593;&#1585;&#1590;"" #ZDRSEDK4
http://t.co/7Q0gqEMtU0""" "ar" "2950519986" "nesm45" "76" "147" "Mon Dec 29 16:13:26 +0000 2014" "" "0" "1" "ZDRSEDK4" "{اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مُعْرِضُونَ}." "66" "760"
"Sun Feb 08 20:15:19 +0000 2015" "564517855581208576" "@dianamendes98 a que horas almocas amanha bby ?" "pt" "2282620470" "ana_veiros" "262" "569" "Wed Jan 08 21:00:27 +0000 2014" "" "0" "1" "dianamendes98" "2355239005" "Follow me, please! 16* portugal" "311" "4826"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568224256" "Anda ingin tahu bagaimana untuk mendapatkan ribuan like di status anda silakan masuk di app ini http://t.co/jf7w51XBs2" "in" "1338680718" "iekhavuu" "65" "0" "Tue Apr 09 08:57:54 +0000 2013" "" "0" "1" "http%3A%2F%2Ft.co%2Fjf7w51XBs2" "http%3A%2F%2Fis.gd%2F7h4I7n" "Haris Munandar (ʃƪ˘⌣˘)" "42" "3931" "is.gd%2F7h4I7n"
"Sun Feb 08 20:15:19 +0000 2015" "564517855580803073" "JK&#12364;&#20808;&#29983;&#12395;&#21610;&#12356;&#12434;&#12363;&#12369;&#12390;&#12415;&#12383;&#12290;&#12288;http://t.co/TT7EYTBM6q" "ja" "3007547744" "nko_qrj62585" "239" "1" "Mon Feb 02 05:00:45 +0000 2015" "" "0" "1" "http%3A%2F%2Ft.co%2FTT7EYTBM6q" "http%3A%2F%2Fvine.co%2Fv%2FOiK3FtPU1Lh" "自動フォロー返し100%OK!ツイ助でフォローバック自動化中!100%返せます!#ツイ助 #自動フォロー返し #相互フォロー" "254" "120" "vine.co%2Fv%2FOiK3FtPU1Lh"
"Sun Feb 08 20:15:19 +0000 2015" "564517855593394176" "RT @thomasuconiqum: &#12371;&#12398;&#31070;&#12450;&#12503;&#12522;&#12469;&#12452;&#12467;&#12540;&#65367;&#65367;
&#26144;&#20687;&#12418;&#32186;&#40599;&#12391;&#12463;&#12458;&#12522;&#12486;&#12451;&#12540;&#39640;&#12377;&#12366;www
&#8658;http://t.co/4uR65IA8QA
&#12414;&#12373;&#12395;&#29579;&#36947;!&#12381;&#12375;&#12390;&#33267;&#39640;!
&#12497;&#12474;&#12523;&#12395;&#39165;&#12365;&#12383;&#12425;&#12467;&#12524;&#12391;&#12377;&#65367; http://t.co/R3X6QAOn6J" "ja" "2217695300" "ninavypajemu" "679" "0" "Wed Nov 27 12:26:25 +0000 2013" "" "0" "1" "thomasuconiqum" "2830390900" "1" "http%3A%2F%2Ft.co%2F4uR65IA8QA" "http%3A%2F%2Ftwi.xsrv.jp%2Fejp7u" "1968" "147" "twi.xsrv.jp%2Fejp7u"
"Sun Feb 08 20:15:19 +0000 2015" "564517855576997889" "@Alisha_Kelsey sdv?" "und" "1554442080" "focanobieber" "1238" "9" "Sat Jun 29 01:42:07 +0000 2013" "03/11/2013" "0" "1" "Alisha_Kelsey" "424958675" "recomeçando" "997" "5027"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568211972" "RT @majed_alshibani: https://t.co/anqiIQtySC
&#1605;&#1593;&#1607;&#1605; &#1581;&#1602; &#1610;&#1586;&#1593;&#1604;&#1608;&#1606;
&#1587;&#1572;&#1575;&#1604; &#1589;&#1593;&#1576; &#1593;&#1604;&#1609; &#1575;&#1604;&#1606;&#1589;&#1585;&#1575;&#1608;&#1610;&#1610;&#1606; &#128540;" "ar" "2276219495" "SM__57" "460" "555" "Sun Jan 12 06:07:44 +0000 2014" "#HFC" "0" "1" "majed_alshibani" "2887956217" "1" "https%3A%2F%2Ft.co%2FanqiIQtySC" "https%3A%2F%2Fvine.co%2Fv%2FOUe3zJHgxUu" "‏‏‏‏‏‏‏‏‏‏‏‏اللهم خفف حملنا على الصراط واجعلنا ممن يعبرونه إلى الجنه بسلام .." "180" "2445" "vine.co%2Fv%2FOUe3zJHgxUu"
"Sun Feb 08 20:15:19 +0000 2015" "564517855589195776" "@yuji42pengin &#26085;&#24046;&#12375;&#12434;&#28020;&#12403;&#12390;&#12365;&#12394;&#12373;&#12356;&#12290;&#12354;&#12387;&#12383;&#12414;&#12387;&#12390;&#12414;&#12377;&#12394;&#12353;" "ja" "2957071248" "mjenova555" "26" "47" "Sat Jan 03 09:54:27 +0000 2015" "唸る『リビドー』を力に。" "0" "1" "yuji42pengin" "453089167" "1994年 フィリピン生まれの名古屋育ち。 趣味はバイクに艦これ。マグナ乗ってます。アニメ、ゲーム好きの萌え豚。艦これにて、 高雄愛宕好き提督です!イベント関係のお仕事をしております。どうぞよろしくお願いします^^" "28" "453"
"Sun Feb 08 20:15:19 +0000 2015" "564517855593369600" "The #CobbleStream with @ProSyndicate yesterday was CRAZY." "en" "2895066348" "_meganmind_" "4" "1" "Sun Nov 09 22:13:22 +0000 2014" "I live at my house." "0" "1" "ProSyndicate" "204089551" "1" "CobbleStream" "I love to sing, play games, and read books." "12" "90"
"Sun Feb 08 20:15:19 +0000 2015" "564517855568211969" "Aplicaciones gratis para iPhone (8/02/2015): Ma&#241;ana es lunes, ese d&#237;a de la semana en el que todos nos cuesta ... http://t.co/krnlPT3SCa" "es" "1323997585" "JHoNatAn_Boys" "952" "687" "Wed Apr 03 06:29:52 +0000 2013" "*-* Gualey City *-*" "0" "1" "http%3A%2F%2Ft.co%2FkrnlPT3SCa" "http%3A%2F%2Fbit.ly%2F1xRjqEC" "MäMi Tê VôTê Pø PÙTä" "375" "136707" "bit.ly%2F1xRjqEC"
"Sun Feb 08 20:15:19 +0000 2015" "564517855585005568" "&#12393;&#12435;&#12394;&#12395;&#23567;&#12373;&#12394;&#28814;&#12391;&#12418;&#24517;&#27515;&#12395;&#38899;&#12434;&#31435;&#12390;&#12390;&#29123;&#12360;&#23613;&#12365;&#12427;&#12414;&#12391;&#21483;&#12403;&#32154;&#12369;&#12427;&#12290;" "ja" "190730802" "it_black_dragon" "1257" "0" "Tue Sep 14 18:05:05 +0000 2010" "魔界" "0" "俺は誰にも負けない。たとえ世界が相手だろうと。3時間事につぶやきます。レパートリーは1万個あります。" "2000" "12011"
"Sun Feb 08 20:15:19 +0000 2015" "564517855597584384" "RT @Bigpapibeez: You a woman promoting child molestation RT: @optahoe: come home from school &amp; she naked in ur bed what do YOU do??? http:/&#8230;" "en" "896627563" "trilluminatixox" "517" "22593" "Mon Oct 22 03:01:32 +0000 2012" "" "0" "2" "Bigpapibeez,optahoe" "274137533,2576678666" "limxossss" "351" "48599"
"Sun Feb 08 20:15:19 +0000 2015" "564517855560232962" "RT @bourjois_uk: We want to add a little Luxe to your Friday! RT &amp; Follow us for a chance to win one of 3 Luxe sets! Good luck! x http://t.&#8230;" "en" "847459531" "AnnMarieAdam1" "173" "14" "Wed Sep 26 13:57:31 +0000 2012" "Dundee" "0" "1" "bourjois_uk" "31379888" "1999" "5053"
"Sun Feb 08 20:15:19 +0000 2015" "564517855593791489" "6 walls, 2 paintings, curtain, floor, ... #BuildWallsFloors #Decor #Objects #Sims4 http://t.co/SU1SNJ3pJy http://t.co/IAvXRpm9Fm" "en" "2715844322" "Sims34Updates" "278" "0" "Fri Aug 08 01:52:44 +0000 2014" "" "0" "4" "BuildWallsFloors,Decor,Objects,Sims4" "1" "http%3A%2F%2Ft.co%2FSU1SNJ3pJy" "http%3A%2F%2Fsims4updates.net%2Fbuild-mode%2F6-walls-2-paintings-curtain-floor-walltattoos-and-family-at-sims-marktplatz%2F" "23" "7573" "sims4updates.net%2Fbuild-mode%2F6-w%E2%80%A6"
"Sun Feb 08 20:15:20 +0000 2015" "564517859775512577" "RT @Una_pizzita: Supongo que todo cambia.." "es" "89599717" "MeDicenAlf_" "7611" "48670" "Fri Nov 13 01:57:21 +0000 2009" "Ocaña, Toledo. " "0" "1" "Una_pizzita" "533525787" "Mi heterosexualidad la doné a obras de caridad. 18." "4047" "90350"
"Sun Feb 08 20:15:20 +0000 2015" "564517859758702592" "RT @fedra_sexole: @kyemaxfire ooiig sos un cielo!!! &#128139;&#128516;" "lv" "1170180272" "kyemaxfire" "11" "188" "Mon Feb 11 22:16:56 +0000 2013" "" "0" "2" "fedra_sexole,kyemaxfire" "268867263,1170180272" "164" "895"
"Sun Feb 08 20:15:20 +0000 2015" "564517859775500291" "Currently putting all my games on my RGH. Hopefully tonight I will add the downloadable content and title updates!" "en" "572042221" "RSPxAndrew2007x" "1353" "6" "Sat May 05 20:16:50 +0000 2012" "" "0" "Notorious for glitching and modding on video games, so check out my channel! A MPO/+ legend" "32" "4337"
"Sun Feb 08 20:15:20 +0000 2015" "564517859788075008" "RT @LouisUniverses: RT if I havent added you in a solo dm with Harry yet!
I'm picking from the RTs &amp; add more people now! Turn on my notif&#8230;" "en" "1639043880" "ummathilda" "2866" "10" "Thu Aug 01 23:05:43 +0000 2013" "" "0" "1" "LouisUniverses" "583784183" "Hi, im a 18 year old who strives to be a writer while studying in a dance focused programme." "2610" "88"
"Sun Feb 08 20:15:20 +0000 2015" "564517859783901184" "&#1084;&#1085;&#1077; &#1076;&#1091;&#1096;&#1091; &#1091;&#1089;&#1083;&#1072;&#1078;&#1076;&#1072;&#1077;&#1090;" "ru" "2530411368" "Hakawne" "560" "0" "Wed May 28 16:53:05 +0000 2014" "" "0" "930" "2054"
"Sun Feb 08 20:15:20 +0000 2015" "564517859767123968" "&#1048;&#1089;&#1090;&#1080;&#1085;&#1085;&#1086;&#1077; &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1087;&#1088;&#1086;&#1089;&#1090;&#1086;; &#1080;&#1076;&#1090;&#1080; &#1082; &#1085;&#1077;&#1084;&#1091; &#1085;&#1072;&#1076;&#1086; &#1074;&#1089;&#1077;&#1075;&#1076;&#1072; &#1095;&#1077;&#1088;&#1077;&#1079; &#1089;&#1083;&#1086;&#1078;&#1085;&#1086;&#1077;" "ru" "2986896963" "Ioaodouraxo" "0" "0" "Tue Jan 20 06:46:10 +0000 2015" "" "0" "0" "5"
"Sun Feb 08 20:15:20 +0000 2015" "564517859783897088" "@Nashgrier #GrierAndFousheeNews &#128538;" "und" "2284207235" "sarah_shaqqour" "337" "4457" "Wed Jan 15 17:19:51 +0000 2014" "" "0" "1" "Nashgrier" "310072711" "1" "GrierAndFousheeNews" "@justinbieber is my idol and i really love him ♡ ~ Cody Simpson followed ~" "256" "2057"
"Sun Feb 08 20:15:20 +0000 2015" "564517859792265216" "RT @JulesToDanny: Realizing tomorrow's Monday http://t.co/gEF5UA5Nbm" "en" "2641975429" "evilbaby21" "759" "913" "Mon Jul 14 02:02:25 +0000 2014" "euclid ohio" "0" "1" "JulesToDanny" "1721006466" "patriots have won 4 super bowls pats nation forever" "1447" "3410"
"Sun Feb 08 20:15:20 +0000 2015" "564517859775504384" "Louca pro ano acabar e eu ganhar essa aposta jogo &#128076;&#128514;&#128525;" "pt" "1624143156" "flavia_araujo8" "524" "1492" "Sat Jul 27 00:16:04 +0000 2013" "Belo Horizonte, MG" "0" "529" "5162"
"Sun Feb 08 20:15:20 +0000 2015" "564517859754532864" "@andrea_styles94 You seen this? http://t.co/4PjVgY2Lle" "en" "178492563" "tmooser48" "206" "861" "Sat Aug 14 22:46:11 +0000 2010" "" "0" "1" "andrea_styles94" "635775801" "1" "http%3A%2F%2Ft.co%2F4PjVgY2Lle" "http%3A%2F%2Fflashscore.ro%2Fredirect%2F%3Furl%3Dhttp%3A%2F%2Frdrctscm.appspot.com" "hey hey" "545" "2677" "flashscore.ro%2Fredirect%2F%3Furl%3D%E2%80%A6"
"Sun Feb 08 20:15:20 +0000 2015" "564517859767095296" "Finally accomplished my hip key! It wasn't pretty but it happened. #aerialsilks #progress http://t.co/1AZkIxUAvC" "en" "147428069" "KaraDeere22" "17" "56" "Mon May 24 03:31:20 +0000 2010" "" "0" "2" "aerialsilks,progress" "1" "http%3A%2F%2Ft.co%2F1AZkIxUAvC" "http%3A%2F%2Finstagram.com%2Fp%2Fy2m3Z-R-Uw%2F" "Pain heals. Chicks dig scars. Glory lasts forever." "144" "69" "instagram.com%2Fp%2Fy2m3Z-R-Uw%2F"
"Sun Feb 08 20:15:20 +0000 2015" "564517859783880705" "Aaaaaaa PC de de DM deki mesaj&#305; komple silme d&#246;nemi ba&#351;lam&#305;&#351;.Ben sabah neden u&#287;ra&#351;t&#305;m tek tek silmek i&#231;in o zaman?" "tr" "254234644" "soruvecevap_" "13543" "2251" "Fri Feb 18 22:06:09 +0000 2011" "İstanbul" "0" "#AK
Tweetlerimi çalmak,klonlamak serbesttir.
Sözlerimle toslamaktan ziyade,okşamayı yeğlerim.Zeka kokan sözlere şapka çıkarır,polemik yapanlara maske takarım." "9477" "76151"
"Sun Feb 08 20:15:20 +0000 2015" "564517859762905089" "&#8220;Heute hat keiner mehr Zeit, eine Story richtig zu recherchieren&#8221; (via @Pocket) http://t.co/VqadcvL5EU" "de" "5777162" "happybuddha" "1195" "5033" "Fri May 04 22:46:01 +0000 2007" "" "0" "1" "Pocket" "27530178" "1" "http%3A%2F%2Ft.co%2FVqadcvL5EU" "http%3A%2F%2Fpocket.co%2Fso8x4X" "Zwischen Rock 'n' Roll & Fels in der Brandung. Running guy. @d64ev-Member." "462" "42337" "pocket.co%2Fso8x4X"
"Sun Feb 08 20:15:20 +0000 2015" "564517859771285504" "RT @AdelAliBinAli: &#1610;&#1602;&#1575;&#1604; &#1576;&#1571;&#1606; &#1575;&#1604;&#1581;&#1576; &#1602;&#1589;&#1577; &#1585;&#1608;&#1575;&#1607;&#1575; &#1580;&#1583; &#1604;&#1571;&#1581;&#1601;&#1575;&#1583;&#1607; &#1602;&#1576;&#1604; &#1575;&#1604;&#1606;&#1608;&#1605;&#1548; &#1608;&#1604;&#1603;&#1606; &#1594;&#1604;&#1576;&#1607;&#1605; &#1575;&#1604;&#1606;&#1593;&#1575;&#1587; &#1601;&#1571;&#1585;&#1575;&#1583; &#1575;&#1604;&#1580;&#1583; &#1573;&#1603;&#1605;&#1575;&#1604;&#1607;&#1575; &#1601;&#1610;&#1605;&#1575; &#1576;&#1593;&#1583;&#1548; &#1604;&#1603;&#1606;&#1607; &#1578;&#1608;&#1601;&#1610;&#1548;
&#1608;&#1576;&#1602;&#1610; &#1575;&#1604;&#1581;&#1576; &#1602;&#1589;&#1577; &#1604;&#1575;&#8230;" "ar" "2547377888" "rubityqujif" "25" "806" "Thu Jun 05 04:47:01 +0000 2014" "" "0" "1" "AdelAliBinAli" "542936786" "أجمل ما في المرأة.. فلسفتها. امرأة بلا وجهة نظر في الحياة، سراب مسافر وخيال عابر لا يقوى أن يطرق باب القلب !" "57" "5940"
"Sun Feb 08 20:15:20 +0000 2015" "564517859754131457" "hptaaa por qe se tiene qe meter en mi cabezaaaa =(" "es" "288549106" "JhonLts" "182" "414" "Wed Apr 27 01:49:20 +0000 2011" "Bogota " "0" "He llegado a un punto en el que ya no odio a nadie, simplemente no me importan." "217" "2129"
"Sun Feb 08 20:15:20 +0000 2015" "564517859779289089" "@LouisUniverses Meee&#128512;&#128512;&#128512;" "und" "2191416800" "MomokoHoran22" "1161" "9755" "Wed Nov 13 01:50:13 +0000 2013" "" "0" "1" "LouisUniverses" "583784183" "July 15th 2015" "999" "12222"
"Sun Feb 08 20:15:20 +0000 2015" "564517859767119873" "Me ofende que sean tan metidas, ome gonorrea ome." "es" "810028718" "Laurooo_oooo" "1056" "16686" "Sat Sep 08 02:37:07 +0000 2012" "" "0" "Te amo mejor amigo Kany Garcia - Alguien." "740" "10117"
"Sun Feb 08 20:15:20 +0000 2015" "564517859754143744" "RT @YouCanHaveHer: You Lesbian in proud RETWEET THIS &#9994;&#128079;&#128079;&#128079;&#128525;&#128537;&#128536;&#128538;" "en" "1263135643" "_niggathaassae" "760" "1000" "Tue Mar 12 23:38:17 +0000 2013" "knowyourworth 1corinthians6:20" "0" "1" "YouCanHaveHer" "80525912" "I Tell Myself Everything Happens For A Reason RestEasyGrams ✊" "657" "14794"
"Sun Feb 08 20:15:20 +0000 2015" "564517859788062721" "RT @Nashgrier: Keep tweeting #GrierAndFousheeNews ! I'm following everyone I can that tweets the hashtag! - http://t.co/nA0Ax4CnBw" "en" "1577694270" "JudkaBelieber" "443" "3170" "Mon Jul 08 13:46:38 +0000 2013" "" "0" "1" "Nashgrier" "310072711" "1" "GrierAndFousheeNews" "1" "http%3A%2F%2Ft.co%2FnA0Ax4CnBw" "http%3A%2F%2Fyoutube.com%2Fgriernash" "Luke | Calum | Michael | Ashton | Justin | Nash | Cameron" "568" "8932" "youtube.com%2Fgriernash"
"Sun Feb 08 20:15:20 +0000 2015" "564517859783491584" "@kenny_bot&#12288;&#12358;&#12387;&#8230;&#65281;" "ja" "714353515" "a_cool_guy_bot" "1541" "6" "Tue Jul 24 14:11:24 +0000 2012" "土手" "0" "1" "kenny_bot" "117600645" "botです。 イケメンdeワイルドなセリフをつぶやきます、土手、ギター、吉祥寺が大好きです、最近銀座にはまってます。たまに作成者がしゃべります" "2001" "321198"
"Sun Feb 08 20:15:20 +0000 2015" "564517859787669504" "@asamirules i guess.." "en" "3013738429" "MikasaDaSlayer" "2" "9" "Sun Feb 08 19:27:13 +0000 2015" "" "0" "1" "asamirules" "2999650518" "17" "4"
"Sun Feb 08 20:15:20 +0000 2015" "564517859770892288" "&#12384;&#12369;&#12391;&#20154;&#29983;&#12364;&#22793;&#12431;&#12427;! &#24863;&#35613;&#26085;&#35352; - &#30000;&#20013; &#12454;&#12523;&#12532;&#12455; &#20140;&#12305;http://t.co/JtjO8buU6C&#12288;&#24863;&#35613;&#9734;" "ja" "537513594" "kcstannychopper" "26588" "1" "Mon Mar 26 18:04:04 +0000 2012" "淡路島" "0" "1" "http%3A%2F%2Ft.co%2FJtjO8buU6C" "http%3A%2F%2Famzn.to%2FVTh9aw" "関西にてチャリティーに興味ある方子供が好きな方はどうぞ!色々な活動から多くの学びがあります。とても素晴らしい仲間たちにも恵まれありがたいです。出会いに感謝☆大切な仲間を募集中!基本的にフォロー返します(*^^*) ツイートのリツイート喜びます!! 感謝☆" "25742" "60598" "amzn.to%2FVTh9aw"
"Sun Feb 08 20:15:20 +0000 2015" "564517859783872512" "@elmansi 28" "und" "401525859" "yaraadam" "464" "3314" "Sun Oct 30 17:41:40 +0000 2011" "" "0" "1" "elmansi" "16714879" "‏‏بنام وبقوم و بعيش عادي مش حابه ولاكارهه حاجة ولا فارق معايا حاجة ولا نفسي ابقي في يوم حاجة ولا ندمانة على حاجة ولوسألتني مالك! حقول عادي مفيش حاجة#Aries" "1438" "9288"
"Sun Feb 08 20:15:20 +0000 2015" "564517859775500289" "RT @Ichnusa7: @confusa11 @alfanor48 @Lo_Shardana @FraiaDi @IlseC74 @Febbraio e' stato un mese freddo!Per fortuna pochi mesi,e poi..........&#8230;" "it" "586850523" "alfanor48" "2017" "1216" "Mon May 21 18:41:30 +0000 2012" "" "0" "7" "Ichnusa7,confusa11,alfanor48,Lo_Shardana,FraiaDi,IlseC74,FEBBRAIO" "1235964434,2496221060,586850523,2821239915,406106340,879926257,51283552" "Quando i nostri idoli cadono dagli altari, i lividi ce li facciamo noi !" "1689" "24741"
"Sun Feb 08 20:15:20 +0000 2015" "564517859770908672" "RT @pabetesetew: ""&#12475;&#12501;&#12524;&#12434;&#20316;&#12426;&#12383;&#12356;&#30007;&#12399;&#25369;&#25163;&#65281;
&#12381;&#12435;&#12394;&#22818;&#12434;&#23455;&#29694;&#20986;&#26469;&#12427;
&#39764;&#27861;&#12415;&#12383;&#12356;&#12394;&#12450;&#12503;&#12522;&#12399;&#12371;&#12428;&#65367;
&#8594;http://t.co/fGCYDPencA
&#12510;&#12472;&#12391;&#12481;&#12515;&#12483;&#12488;&#20837;&#12428;&#12427;&#12384;&#12369;&#12391;&#20986;&#20250;&#12360;&#12427;&#65367;&#65367;
&#39135;&#12356;&#12388;&#12365;&#20932;&#12377;&#12366;&#12289;&#12527;&#12525;&#12479;www http://t.co/n95XNZS&#8230;" "ja" "1552584222" "team_a_k_b" "950" "131" "Fri Jun 28 08:54:41 +0000 2013" "" "0" "1" "pabetesetew" "2738759932" "1" "http%3A%2F%2Ft.co%2FfGCYDPencA" "http%3A%2F%2Fbutta.info%2F8y1jrk%2F" "大島優子が卒業しても応援し続ける垢/マイマイ勢(9.8)" "1364" "10312" "butta.info%2F8y1jrk%2F"
"Sun Feb 08 20:15:20 +0000 2015" "564517859754143745" "Today stats: No new followers, One unfollower via http://t.co/2XzfFAGU8d" "en" "515582070" "_AQUARIUSS" "1037" "1371" "Mon Mar 05 15:38:34 +0000 2012" "" "0" "1" "http%3A%2F%2Ft.co%2F2XzfFAGU8d" "http%3A%2F%2Fuapp.ly" "Follow Me & I follow back Thanks!❤ Follow me on Instagram @KM_HONEY I follow back. 1⃣God ⛪️ FL☀️" "991" "4527" "uapp.ly"
"Sun Feb 08 20:15:20 +0000 2015" "564517859779690497" "Oh mama eeeeeeeeeeeeeeeel me ah besado o mama estoy enamorada de el we" "es" "2727578458" "Clariyjustin" "92" "137" "Mon Jul 28 19:55:44 +0000 2014" "" "0" "All that matters to me, now and ever :´) *-*" "178" "1971"
"Sun Feb 08 20:15:20 +0000 2015" "564517859766726657" "RT @pabetesetew: ""&#12475;&#12501;&#12524;&#12434;&#20316;&#12426;&#12383;&#12356;&#30007;&#12399;&#25369;&#25163;&#65281;
&#12381;&#12435;&#12394;&#22818;&#12434;&#23455;&#29694;&#20986;&#26469;&#12427;
&#39764;&#27861;&#12415;&#12383;&#12356;&#12394;&#12450;&#12503;&#12522;&#12399;&#12371;&#12428;&#65367;
&#8594;http://t.co/fGCYDPencA
&#12510;&#12472;&#12391;&#12481;&#12515;&#12483;&#12488;&#20837;&#12428;&#12427;&#12384;&#12369;&#12391;&#20986;&#20250;&#12360;&#12427;&#65367;&#65367;
&#39135;&#12356;&#12388;&#12365;&#20932;&#12377;&#12366;&#12289;&#12527;&#12525;&#12479;www http://t.co/n95XNZS&#8230;" "ja" "633418821" "kazuaaagot" "40" "28" "Thu Jul 12 00:48:22 +0000 2012" "" "0" "1" "pabetesetew" "2738759932" "1" "http%3A%2F%2Ft.co%2FfGCYDPencA" "http%3A%2F%2Fbutta.info%2F8y1jrk%2F" "19 AAA いきものがかり ワンピース ヤバイなーw 山田鮮魚店一年目!" "107" "7436" "butta.info%2F8y1jrk%2F"
"Sun Feb 08 20:15:20 +0000 2015" "564517859766726656" "RT @nikomegum: &#12362;&#37329;&#12394;&#12356;&#23376;&#12395;&#12399;&#12467;&#12524;&#12356;&#12356;&#12363;&#12418;&#12397;ww
&#12460;&#12481;&#12515;&#12384;&#12369;&#12391;&#26376;&#65299;&#19975;&#20870;&#12392;&#12363;&#12510;&#12472;&#21161;&#12363;&#12427;&#9825;
&#12473;&#12510;&#12507;&#8594; http://t.co/PhNad1Z7Qf
&#12362;&#23567;&#36963;&#12356;&#12524;&#12505;&#12523;&#12376;&#12419;&#28168;&#12414;&#12394;&#12356;&#12424;&#12316;w
&#12354;&#12398;&#12362;&#31505;&#12356;&#33464;&#20154;&#12418;&#12420;&#12387;&#12390;&#12390;&#12527;&#12525;&#12479;www http://t.co/F5u7uphpRh" "ja" "2800427098" "anokonoho_ga" "648" "0" "Thu Oct 02 17:20:53 +0000 2014" "" "0" "1" "nikomegum" "2888386147" "1" "http%3A%2F%2Ft.co%2FPhNad1Z7Qf" "http%3A%2F%2Fgoo.gl%2F5SxL0v" "今流行の『あの子の方が可愛いから私と別れたの? いいよ。あたしも彼氏作る』
を集めました♪ 好きなのあったら フォロー&RTしてね☆" "1810" "720" "goo.gl%2F5SxL0v"
"Sun Feb 08 20:15:20 +0000 2015" "564517859787685888" "RT @betoo_50: @kbm3000
&#1581;&#1610;&#1575;&#1603; &#1575;&#1604;&#1604;&#1607; &#1548; &#1608;&#1610;&#1587;&#1593;&#1583;&#1604;&#1610; &#1605;&#1587;&#1575;&#1603; &#127800;&#127800;" "ar" "378432170" "kbm3000" "2873" "7273" "Fri Sep 23 05:56:11 +0000 2011" "" "0" "2" "betoo_50,kbm3000" "632990720,378432170" "ابتسم ،، ترا الدنيا ما تستاهل !!" "140" "97437"
"Sun Feb 08 20:15:20 +0000 2015" "564517859758333955" "RT @hazazi16: (&#1582;&#1584; &#1602;&#1585;&#1575;&#1585;) &#1576;&#1571;&#1606; &#1578;&#1603;&#1608;&#1606; &#1587;&#1593;&#1610;&#1583;&#1570; &#1601;&#1602;&#1591; , &#1608;&#1581;&#1610;&#1606;&#1607;&#1575; &#1587;&#1578;&#1603;&#1608;&#1606; &#1571;&#1606;&#1578; &#1608;&#1576;&#1607;&#1580;&#1578;&#1603; &#1605;&#1593;&#1575; &#1580;&#1610;&#1588; &#128170; &#1604;&#1575; &#1610;&#1602;&#1607;&#1585; &#1601;&#1609; &#1608;&#1580;&#1607; &#1575;&#1604;&#1589;&#1593;&#1608;&#1576;&#1575;&#1578; ." "ar" "1289249472" "xb9x_" "706" "369" "Fri Mar 22 17:41:06 +0000 2013" "" "0" "1" "hazazi16" "497283492" "سوف يأتي يوم لن اكون معكم وسوف تدخلون هنا لتقرأو ماكتبت فأن وجدتم مايؤجرني انشروه | #الإتحاد @alittihad_club" "362" "14683"
"Sun Feb 08 20:15:20 +0000 2015" "564517859783483392" "RT @pabetesetew: ""&#12475;&#12501;&#12524;&#12434;&#20316;&#12426;&#12383;&#12356;&#30007;&#12399;&#25369;&#25163;&#65281;
&#12381;&#12435;&#12394;&#22818;&#12434;&#23455;&#29694;&#20986;&#26469;&#12427;
&#39764;&#27861;&#12415;&#12383;&#12356;&#12394;&#12450;&#12503;&#12522;&#12399;&#12371;&#12428;&#65367;
&#8594;http://t.co/fGCYDPencA
&#12510;&#12472;&#12391;&#12481;&#12515;&#12483;&#12488;&#20837;&#12428;&#12427;&#12384;&#12369;&#12391;&#20986;&#20250;&#12360;&#12427;&#65367;&#65367;
&#39135;&#12356;&#12388;&#12365;&#20932;&#12377;&#12366;&#12289;&#12527;&#12525;&#12479;www http://t.co/n95XNZS&#8230;" "ja" "888898405" "hanakusokongu" "118" "660" "Thu Oct 18 13:56:16 +0000 2012" "" "0" "1" "pabetesetew" "2738759932" "1" "http%3A%2F%2Ft.co%2FfGCYDPencA" "http%3A%2F%2Fbutta.info%2F8y1jrk%2F" "モンスト専用" "52" "18216" "butta.info%2F8y1jrk%2F"
"Sun Feb 08 20:15:20 +0000 2015" "564517859791888385" "The Best Of The Grumpy Cat Meme http://t.co/98l1JyGnDt http://t.co/UYXJXaqnfm" "en" "317211774" "CapriceLogue" "971" "0" "Tue Jun 14 16:05:47 +0000 2011" "Atlanta
" "0" "1" "http%3A%2F%2Ft.co%2F98l1JyGnDt" "http%3A%2F%2Fbit.ly%2F1wCbO8A" "Strive not to be a success but rather to be of value" "1163" "1188" "bit.ly%2F1wCbO8A"
"Sun Feb 08 20:15:20 +0000 2015" "564517859779284992" "Saw so many familiar faces last night" "en" "329824053" "chantsstep" "861" "9830" "Tue Jul 05 17:38:36 +0000 2011" "" "0" "•Speak kind words and hear kind echos •Touch my butt *falls off bench*" "597" "22988"
"Sun Feb 08 20:15:20 +0000 2015" "564517859779690498" "I think we have the cutest pictures ever @GrenierClo http://t.co/CzMM5SMl4b" "en" "1346593718" "horanwithgrier" "2946" "7229" "Fri Apr 12 11:19:28 +0000 2013" "- swiss -" "0" "1" "GrenierClo" "1465202106" "niall lifts me up when i fall // bethany mota" "1000" "54938"
"Sun Feb 08 20:15:21 +0000 2015" "564517863961403395" "@AlexConstancio Alex please follow me &#128591;&#128591;
held my dream of becoming 3/4
PLEASE ILYSM !!!! &#128525;&#128536; xx52" "en" "1182744822" "PrincipeClark" "14208" "18364" "Fri Feb 15 14:13:57 +0000 2013" "2/4 • Austin follows and reply" "0" "1" "AlexConstancio" "191224982" "11741" "49332"
"Sun Feb 08 21:49:06 +0000 2015" "564541456934010880" "http://t.co/MXhvtD7MbH" "und" "1532023615" "yaarkk9" "174" "8" "Wed Jun 19 21:06:47 +0000 2013" "" "0" "484" "778"
"Sun Feb 08 20:15:21 +0000 2015" "564517863982399488" "#STYLATORARMYPUTMEINADMWITH Louis pls &#128158; x45" "en" "2267669268" "angellouisfeels" "1084" "8309" "Sun Dec 29 17:23:39 +0000 2013" "" "0" "1" "STYLATORARMYPUTMEINADMWITH" "// Full time fangirl of too many fandoms. ❤ // I ship bullshit. ✌ // Finnish girl. //" "1030" "2186"
"Sun Feb 08 20:15:21 +0000 2015" "564517863969804288" "(&#1608;&#1604;&#1575; &#1578;&#1572;&#1578;&#1608;&#1575; &#1575;&#1604;&#1587;&#1601;&#1607;&#1575;&#1569; &#1571;&#1605;&#1608;&#1575;&#1604;&#1603;&#1605; &#1575;&#1604;&#1578;&#1610; &#1580;&#1593;&#1604; &#1575;&#1604;&#1604;&#1607; &#1604;&#1603;&#1605; &#1602;&#1610;&#1575;&#1605;&#1575; &#1608;&#1575;&#1585;&#1586;&#1602;&#1608;&#1607;&#1605; &#1601;&#1610;&#1607;&#1575; &#1608;&#1575;&#1603;&#1587;&#1608;&#1607;&#1605; &#1608;&#1602;&#1608;&#1604;&#1608;&#1575; &#1604;&#1607;&#1605; &#1602;&#1608;&#1604;&#1575; &#1605;&#1593;&#1585;&#1608;&#1601;&#1575;) [&#1575;&#1604;&#1606;&#1587;&#1575;&#1569;:5]bjh" "ar" "2666499122" "mohammedekramy5" "1" "0" "Mon Jul 21 16:58:25 +0000 2014" "Saudi Arabia" "0" "أيقنتُ تماماً , أنّ اليأس أبداً لآ يليقُ بأروآحِ المؤمنينْ , فابْتسموا وتفاءلوا مادمتم مؤْمنِين." "1" "9020"
"Sun Feb 08 20:15:21 +0000 2015" "564517863978196995" "Lo puteo y lo forreo pero en el fondo lo amo y lo extra&#241;o" "es" "2273748163" "pandicornioPony" "791" "229" "Fri Jan 03 00:37:14 +0000 2014" "dasdsadasdsa BM" "0" "face: yaaz valdeez.wsp: 3515130558" "780" "4389"
"Sun Feb 08 20:15:21 +0000 2015" "564517863969804289" "RT @buhalal: @MahiraSmile &#1606;&#1588;&#1607;&#1583; &#1604;&#1670; &#1575;&#1604;&#1593;&#1575;&#1601;&#1610;&#1577; &#1610;&#1575; &#1587;&#1578; &#1575;&#1604;&#1581;&#1604;&#1575;&#1608;&#1607;&#128513;&#127801;" "ar" "615340838" "MahiraSmile" "2444" "6981" "Fri Jun 22 17:01:24 +0000 2012" "Egypt الخاص مغلق " "0" "2" "buhalal,MahiraSmile" "275547386,615340838" "‏‏‏‏‏‏‏‏‏‏‏‏يكفيني إني مصرية ، افتخر بقوميتي العربية والاسلامية , اعيش في عالمي حيث الحب والسﻻم والصدق ، اتمنى ان يظل نقاء قلبي بنقاء ثوبي اﻷبيض (الخاص ممنوع)" "2033" "134682"
"Sun Feb 08 20:15:21 +0000 2015" "564517863961403393" "RT @la_patilla: Jes&#250;s &#8220;Chuo&#8221; Torrealba: D&#237;a a D&#237;a y Farmatodo, &#8220;Falsos positivos&#8221; de una guerra inexistente http://t.co/jxyShWxMtF" "es" "218286399" "Rosalbacn" "211" "40" "Sun Nov 21 22:53:50 +0000 2010" "Venezuela" "0" "1" "la_patilla" "124172948" "1" "http%3A%2F%2Ft.co%2FjxyShWxMtF" "http%3A%2F%2Fpatil.la%2F1Kw9nxz" "Venezuela." "200" "47765" "patil.la%2F1Kw9nxz"
"Sun Feb 08 20:15:21 +0000 2015" "564517863982374913" "#GrierAndFousheeNews
please follow me ily &#128149;&#128059; @Nashgrier
#GrierAndFousheeNews" "en" "2186748776" "givemehayes" "8255" "3854" "Sun Nov 10 17:14:08 +0000 2013" "19thmay-29thjune" "0" "1" "Nashgrier" "310072711" "2" "GrierAndFousheeNews,GrierAndFousheeNews" "If you ever see me not tweeting about niall horan don't worry I'm still thinking about him. hayes/12+jacob 5sos' band acc/4" "7137" "24085"
"Sun Feb 08 20:15:21 +0000 2015" "564517863957213186" "RT @MagKlr: tous des choqu&#233;s du film fsog ptdr calmez vos hormones svp, &#231;a reste un film de cul j'vois pas o&#249; il est le romantisme" "fr" "824822442" "pansyest" "500" "2718" "Sat Sep 15 08:25:47 +0000 2012" "strashollywood city" "0" "1" "MagKlr" "1225959133" "fuck ton élégance" "336" "18156"
"Sun Feb 08 20:15:21 +0000 2015" "564517863978172416" "Los adherentes tienen tiempo de se&#241;ar hasta ma&#241;ana a las 16 hs." "es" "1449415902" "cordobaazulyoro" "1171" "78" "Wed May 22 17:03:40 +0000 2013" "Córdoba - Argentina" "0" "Única peña oficial del Club Atlético Boca Juniors en Córdoba Capital - Asociación Civil // Facebook http://on.fb.me/1cPAPnW - Instagram http://bit.ly/1lT9Pcy" "111" "1629"
"Sun Feb 08 20:15:21 +0000 2015" "564517863965618176" "Trust the vibes you get. Energy doesn't lie." "en" "301506749" "teresamankin" "330" "377" "Thu May 19 15:52:16 +0000 2011" "Indiana, USA" "0" "I love the Colts, Pacers & Hoosiers ['98]. Corporate Catering Sales Manager. Single mom. Reader. NCIS addict. Former Army broadcaster." "566" "1653"
"Sun Feb 08 20:15:21 +0000 2015" "564517863953035264" "RT @CharlotteR_89: A Paris sa fait plaisir de voir des personnes qui savent s'habiller ! A Sens tu mets un truc qui sort de l'ordinaire, li&#8230;" "fr" "2872351282" "paloma__89" "109" "199" "Tue Nov 11 14:23:35 +0000 2014" "" "0" "1" "CharlotteR_89" "257147520" "judo. rlt." "111" "921"
"Sun Feb 08 20:15:21 +0000 2015" "564517863978188802" "RT @BornMotavator: Red carpet starts in less then 3 hours &#9825;&#9825;&#9825; #GoodLuckAtTheGrammysAriana" "en" "2823699647" "maiapcheco" "170" "630" "Sat Oct 11 21:16:49 +0000 2014" "bibble" "0" "1" "BornMotavator" "319387710" "1" "GoodLuckAtTheGrammysAriana" "Honeymoon ave." "54" "4615"
"Sun Feb 08 20:15:21 +0000 2015" "564517863965593602" "@GuerrierPacifik ohh yeahh! Ambon hein. Tr&#232;s bienn !!!" "fr" "143563192" "Diabou_S" "938" "5510" "Thu May 13 20:30:42 +0000 2010" "Paris ✈ Dakar" "0" "1" "GuerrierPacifik" "108934840" "Adoration pour Allah Soubhanahou Wa Tahala ♡♡♡. Amour pour le Prophète Aleyhi Salat Wa Salam ♡♡♡ #Breezy #Faramareine #Beyonce" "301" "50576"
"Sun Feb 08 20:15:21 +0000 2015" "564517863957229568" "@saamwilson @iamanthonyjames I&#8217;m so suggestable apparently" "en" "295663035" "sas398" "590" "6958" "Mon May 09 13:07:53 +0000 2011" "London" "0" "2" "saamwilson,iamanthonyjames" "172334429,22640188" "Hey, hey. Come on, the ocean is your friend, and you got friends all around you right now. Miles and miles of friends. snapchat: sas398" "542" "11887"
"Sun Feb 08 20:15:21 +0000 2015" "564517863969812481" "@honestfandom HAHAHAHAHAHAHA" "tl" "1443406334" "TweedleDeeHoran" "1260" "447" "Mon May 20 10:13:47 +0000 2013" "" "0" "1" "honestfandom" "1684898995" "we're all mad here" "314" "5468"
"Sun Feb 08 20:15:21 +0000 2015" "564517863978180608" "RT @Flxrian_: J'ai tellement envie de partir au ski.&#127935;&#128532;" "fr" "3007383471" "La_Jxlie" "259" "0" "Sat Jan 31 10:33:56 +0000 2015" "Paris" "0" "1" "Flxrian_" "1276006400" "133" "23"
"Sun Feb 08 20:15:21 +0000 2015" "564517863969398785" "&#1575;&#1606;&#1601;&#1590; &#1604;&#1610; 50 &#1575;&#1606;&#1601;&#1590; &#1604;&#1603; 60 &#1608;&#1593;&#1591;&#1606;&#1610; &#1578;&#1605; &#1608;&#1575;&#1606;&#1575; &#1608;&#1585;&#1575;&#1603; ." "ar" "2774791754" "vvvv89741602" "498" "164" "Wed Aug 27 22:00:28 +0000 2014" "" "0" "المفضله مو لي بس انفضها الله يسعدك." "850" "11859"
"Sun Feb 08 20:15:22 +0000 2015" "564517868159918082" "RT @patronopotter: se o ed sheeran nao ganhar grammy hoje http://t.co/dXDvlrFDvV" "pt" "2881067152" "ALarryButterfly" "4310" "457" "Mon Nov 17 14:04:08 +0000 2014" " On Louis's heart " "0" "1" "patronopotter" "451873702" "4211" "5247"
"Sun Feb 08 20:15:21 +0000 2015" "564517863982366720" "RT @SomebodyStyles: &#8220;@SPaligot: Margot elle a fait une teinture bleu et elle a rinc&#233; ses cheveux sans gants alors mnt elle a les mains bleu&#8230;" "fr" "2326628344" "ozcelkesra" "83" "4684" "Wed Feb 05 19:52:29 +0000 2014" "Belgium, Brussels. " "0" "2" "SomebodyStyles,SPaligot" "592567259,1923168433" "snapchat : esra-ozclk / instagram : ozcelkesra." "60" "5782"
"Sun Feb 08 20:15:21 +0000 2015" "564517863965216769" "RT @buraksrgl: 10 DK &#304;&#199;&#304;NDE TAK&#304;P EDENLERE +400 TAK&#304;P&#199;&#304; ATICAM" "tr" "3021107267" "brkycnn0675" "314" "574" "Fri Feb 06 06:38:25 +0000 2015" "" "0" "1" "buraksrgl" "2967574745" "869" "1408"
"Sun Feb 08 20:15:21 +0000 2015" "564517863961403392" "RT @JamiePeacock10: Well every minute certainly mattered today. #lastgaspwin
Great effort from @hullkr_online for the sell out crowd and at&#8230;" "en" "2743497555" "DrinkallNeil" "72" "238" "Fri Aug 15 13:30:31 +0000 2014" "" "0" "2" "JamiePeacock10,hullkr_online" "301601876,20621866" "1" "lastgaspwin" "361" "628"
"Sun Feb 08 20:15:21 +0000 2015" "564517863974010880" "RT @astroehlein: Over 400 rabbis call on Israel to stop administrative demolitions of Palestinian homes http://t.co/AFXIZxztQ8 http://t.co/&#8230;" "en" "81559070" "fotfoundation" "30" "1180" "Sun Oct 11 09:40:06 +0000 2009" "" "0" "1" "astroehlein" "17672825" "1" "http%3A%2F%2Ft.co%2FAFXIZxztQ8" "http%3A%2F%2Fbit.ly%2F1usjaRs" "The Freedom of Thought Foundation" "39" "3534" "bit.ly%2F1usjaRs"
"Sun Feb 08 20:15:21 +0000 2015" "564517863948816384" "RT @Boysndgals: &#10024; http://t.co/AARt7FBaHb" "und" "1880901391" "Beleeenchu15" "227" "326" "Wed Sep 18 21:03:21 +0000 2013" "Zaragoza,mañoo" "0" "1" "Boysndgals" "3001873245" "BH" "490" "1374"
"Sun Feb 08 20:15:21 +0000 2015" "564517863986569216" "&#1581;&#1587;&#1576;&#1606;&#1575; &#1575;&#1604;&#1604;&#1607; &#1608;&#1606;&#1593;&#1605; &#1575;&#1604;&#1608;&#1603;&#1610;&#1604; http://t.co/pgc8c2VtCN" "ar" "2927899710" "maiamialotaibi1" "1" "1" "Sat Dec 13 00:54:27 +0000 2014" "" "0" "1" "http%3A%2F%2Ft.co%2Fpgc8c2VtCN" "http%3A%2F%2Fdu3a.org" "اللهم ارحمني يوم لا يُسمع لقلبي نبض.
اللهم اني اسألك حسن الخاتمه." "1" "1084" "du3a.org"
"Sun Feb 08 20:15:21 +0000 2015" "564517863948427264" "RT @buraksrgl: 10 DK &#304;&#199;&#304;NDE TAK&#304;P EDENLERE +400 TAK&#304;P&#199;&#304; ATICAM" "tr" "1428298770" "thetardismavisi" "470" "3154" "Tue May 14 16:54:08 +0000 2013" "İstanbul" "0" "1" "buraksrgl" "2967574745" "bıktım." "2001" "3172"
"Sun Feb 08 20:15:21 +0000 2015" "564517863978188800" "&#1583;&#1593;&#1575;&#1569; &#1604;&#1604;&#1605;&#1578;&#1586;&#1608;&#1580;:&#1576;&#1575;&#1585;&#1603; &#1575;&#1604;&#1604;&#1607; &#1604;&#1603; &#1608;&#1576;&#1575;&#1585;&#1603; &#1593;&#1604;&#1610;&#1603; &#1608;&#1580;&#1605;&#1593; &#1576;&#1610;&#1606;&#1603;&#1605;&#1575; &#1601;&#1610; &#1582;&#1610;&#1585; http://t.co/c9T4EdzZ7e" "ar" "465235502" "hayoounX" "348" "366" "Mon Jan 16 03:50:19 +0000 2012" "Kuwait " "0" "1" "http%3A%2F%2Ft.co%2Fc9T4EdzZ7e" "http%3A%2F%2Fdu3a.org" "사랑해.♡ | 13일 Feb. ☆" "45" "9596" "du3a.org"
"Sun Feb 08 20:15:21 +0000 2015" "564517863965200386" "&#1575;&#1604;&#1571;&#1588;&#1582;&#1575;&#1589; &#1575;&#1606; &#1584;&#1607;&#1576;&#1608;&#1575; .. &#1578;&#1576;&#1602;&#1609; &#1584;&#1603;&#1585;&#1610;&#1575;&#1578;&#1607;&#1605; /
&#1608;&#1604;&#1600;&#1600;&#1600;&#1711;&#1600;&#1606;
&#1573;&#1584;&#1575; &#1584;&#1607;&#1576;&#1578; &#1575;&#1604;&#1579;&#1602;&#1600;&#1607; - &#1584;&#1607;&#1576; &#1575;&#1604;&#1588;&#1582;&#1589; &#1605;&#1593;&#1607;&#1575; !" "ar" "2949210144" "RaymTt2" "2335" "277" "Mon Dec 29 05:48:00 +0000 2014" "جدة ♡ينبع" "0" "افتخر بإسم ريم حرب الي اطلقه الحربي علي (هلاليه)" "2288" "876"
"Sun Feb 08 20:15:21 +0000 2015" "564517863974002689" ".@w4and: Cinco tips b&#225;sicos para un buen cuidado de tu cabello http://t.co/oTFmhnnFRO V&#237;a tudirectorionet &#8230;" "es" "924418520" "ExpresateTruji" "9169" "1" "Sun Nov 04 01:42:44 +0000 2012" "Estado Trujillo - Venezuela" "0" "1" "w4and" "2800485109" "1" "http%3A%2F%2Ft.co%2FoTFmhnnFRO" "http%3A%2F%2Fow.ly%2FIGAnG" "Envía tu comentario vía MD sobre: el acontecer político, social, deportivo o cultural. Exprésate, eso si con respeto. Grupo: @ExpresateZulia @ExpresateLara1" "9967" "47066" "ow.ly%2FIGAnG"
"Sun Feb 08 20:15:21 +0000 2015" "564517863969816576" "RT @catchifyou_KEN: all niggas wanna is get High , play the game , &amp; lie" "en" "465093721" "itsdorian_" "2197" "23194" "Sun Jan 15 23:35:11 +0000 2012" "" "0" "1" "catchifyou_KEN" "541017377" "forever never means forever ." "1480" "68734"
"Sun Feb 08 20:15:21 +0000 2015" "564517863973588992" "RT @ALETHHAD_SAUDI: &#1576;&#1605;&#1602;&#1610;&#1575;&#1587; &#1575;&#1604;&#1605;&#1580;&#1575;&#1606;&#1610;&#1606;:
&#1603;&#1576;&#1610;&#1585; &#1580;&#1583;&#1577; 2 &#1583;&#1608;&#1585;&#1610; &#1608; &#1589;&#1594;&#1610;&#1585;&#1607;&#1575; 8 &#1583;&#1608;&#1585;&#1610;
&#1603;&#1576;&#1610;&#1585; &#1580;&#1583;&#1577; 0 &#1570;&#1587;&#1610;&#1575; &#1608; &#1589;&#1594;&#1610;&#1585;&#1607;&#1575; 3 &#1570;&#1587;&#1610;&#1575;
&#1603;&#1576;&#1610;&#1585; &#1580;&#1583;&#1577; &#1571;&#1587;&#1587; 1937 &#1608; &#1589;&#1594;&#1610;&#1585;&#1607;&#1575; 1927
&#1575;&#1604;&#1581;&#8230;" "ar" "943259191" "tteemmoonn" "31" "9" "Mon Nov 12 10:40:21 +0000 2012" "" "0" "1" "ALETHHAD_SAUDI" "580180228" "56" "197"
"Sun Feb 08 20:15:21 +0000 2015" "564517863961030657" "Penantian yg begitu lamanyaaa , dan akirnya telah sampai pada puncaknya .. Tapiii penantian itu hancur cuma karena masalah sepele..!!!Galucu" "in" "537847802" "Tharyy_Utharyy" "490" "300" "Tue Mar 27 04:36:52 +0000 2012" "" "0" "FreeEnjoy!" "291" "4123"
"Sun Feb 08 20:15:21 +0000 2015" "564517863973593088" "&#1590;&#1594;&#1591; &#1576;&#1604;&#1576;&#1575;&#1608; &#1575;&#1604;&#1585;&#1607;&#1610;&#1576; &#1581;&#1578;&#1605;&#1575; &#1587;&#1610;&#1606;&#1582;&#1601;&#1590; &#1608;&#1610;&#1578;&#1604;&#1575;&#1588;&#1609; &#1608;&#1604;&#1603;&#1606; &#1575;&#1604;&#1571;&#1607;&#1605; &#1571;&#1606; &#1604;&#1575; &#1610;&#1587;&#1580;&#1604; &#1576;&#1604;&#1576;&#1575;&#1608;" "ar" "1471377432" "BarcalonaZain" "5235" "490" "Fri May 31 05:28:31 +0000 2013" "" "0" "اللهم توفّني وأنت راضٍ عنّي" "39" "4480"
"Sun Feb 08 20:15:21 +0000 2015" "564517863961010176" "RT @Baeflix: I like Netflix more than people" "en" "471618343" "ITWEET_UMAD" "7527" "7404" "Mon Jan 23 02:31:05 +0000 2012" "IG; _95TRILLSCENE" "0" "1" "Baeflix" "2928415157" "THE STRUGGLE IS REAL ✊✊✊✊✊ ✊ TRACK IS LIFE ✊✊✊FOLLOW @_officialkdoll✊✊✊✊✊ THE SHOES IS MY GAME✊✊✊✊✊✊✊✊✊ManvelHs✊" "7468" "24242"
"Sun Feb 08 20:15:22 +0000 2015" "564517868172099584" "@Dwarfquisition *listens*" "en" "3011508612" "Humble_Bard" "46" "98" "Fri Feb 06 17:46:20 +0000 2015" "" "0" "1" "Dwarfquisition" "2992553172" "I am but a Bard, willing to run to a friend's aid. Definitley NOT a mage....No, really Im not....#DARP 18+" "126" "242"
"Sun Feb 08 20:15:21 +0000 2015" "564517863948824577" "&#1605;&#1606; &#1606;&#1575;&#1601;&#1587; &#1575;&#1604;&#1605;&#1591;&#1585;&#1575;&#1606; &#1608;&#1575;&#1604;&#1604;&#1607; &#1605;&#1575;&#1587;&#1604;&#1605; https://t.co/kunNZ6HJ4i" "ar" "2737703913" "98NT_" "108" "59" "Sat Aug 09 01:04:46 +0000 2014" "" "0" "1" "https%3A%2F%2Ft.co%2FkunNZ6HJ4i" "https%3A%2F%2Fvine.co%2Fv%2FOU5T1KZj5rv" "استغفرالله واتوب اليه ." "96" "1507" "vine.co%2Fv%2FOU5T1KZj5rv"
"Sun Feb 08 20:15:21 +0000 2015" "564517863948419072" "RT @buraksrgl: 10 DK &#304;&#199;&#304;NDE TAK&#304;P EDENLERE +400 TAK&#304;P&#199;&#304; ATICAM" "tr" "2184144870" "elif_avciii" "888" "834" "Sat Nov 09 11:28:20 +0000 2013" "istanbul" "0" "1" "buraksrgl" "2967574745" "http://ask.fm/ElifAvc964" "1146" "1606"
"Sun Feb 08 20:15:21 +0000 2015" "564517863977791489" "RT @buraksrgl: 10 DK &#304;&#199;&#304;NDE TAK&#304;P EDENLERE +400 TAK&#304;P&#199;&#304; ATICAM" "tr" "2489883914" "yapmalan1" "160" "20348" "Sun May 11 13:57:13 +0000 2014" "grwghethethethbfb" "0" "1" "buraksrgl" "2967574745" "gerehwthnetgnrhym" "2002" "16870"
"Sun Feb 08 20:15:21 +0000 2015" "564517863973998592" "RT @vity_saxobeat: ""Mort &#128128;"" by &#191;Real o no?. #poetweet http://t.co/P7OkrHiQF0
@llamas_marta me ha dado por poner tu nombre y la mitad de est&#8230;" "es" "408522919" "llamas_marta" "567" "2552" "Wed Nov 09 14:50:13 +0000 2011" "ESPAÑA" "0" "2" "vity_saxobeat,llamas_marta" "1534939958,408522919" "1" "poetweet" "1" "http%3A%2F%2Ft.co%2FP7OkrHiQF0" "http%3A%2F%2Fpoetweet.com.br%2F%3Fp%3DwkDNxEzN%26lang%3Den" "17, tributo, hutcher, dubstep division, edm (13/11/13 09:33) Love always, Charlie." "494" "15025" "poetweet.com.br%2F%3Fp%3DwkDNxEzN%26la%E2%80%A6"
"Sun Feb 08 20:15:21 +0000 2015" "564517863965200387" "RT @peec_sa: &#1608;&#1590;&#1593;&#1606;&#1575; &#1605;&#1593;&#1575;&#1610;&#1610;&#1585; &#1593;&#1575;&#1604;&#1610;&#1577; &#1608;&#1583;&#1602;&#1610;&#1602;&#1577; &#1604;&#1604;&#1581;&#1589;&#1608;&#1604; &#1593;&#1604;&#1609; &#1578;&#1585;&#1575;&#1582;&#1610;&#1589; &#1575;&#1604;&#1578;&#1602;&#1608;&#1610;&#1605; :
#&#1607;&#1610;&#1574;&#1577;_&#1578;&#1602;&#1608;&#1610;&#1605;_&#1575;&#1604;&#1578;&#1593;&#1604;&#1610;&#1605;_&#1575;&#1604;&#1593;&#1575;&#1605;
http://t.co/7YOFjAw38s http://t.co/xKhcKiVt&#8230;" "ar" "372163147" "dhwayan" "4569" "333" "Mon Sep 12 08:03:25 +0000 2011" "Riyadh" "0" "1" "peec_sa" "2257647368" "1" "هيئة_تقويم_التعليم_العام" "1" "http%3A%2F%2Ft.co%2F7YOFjAw38s" "http%3A%2F%2Fwww.al-jazirah.com%2F2015%2F20150208%2Fln30.htm" "باحث تربوي، ماجستير بحث وتقويم، دكتوراه إدارة تربوية، اقتصاديات التعليم، مستشار في عدة جهات،
Aldhwayan@Gmail.Com" "405" "42445" "al-jazirah.com%2F2015%2F20150208%2F%E2%80%A6"
"Sun Feb 08 20:15:21 +0000 2015" "564517863965196289" "&#1573;&#1584;&#1575; &#1589;&#1604;&#1609; &#1571;&#1581;&#1583;&#1603;&#1605; &#1604;&#1604;&#1606;&#1575;&#1587; &#1601;&#1604;&#1610;&#1582;&#1601;&#1601; &#1601;&#1573;&#1606; &#1605;&#1606;&#1607;&#1605; &#1575;&#1604;&#1590;&#1593;&#1610;&#1601; &#1608;&#1575;&#1604;&#1587;&#1602;&#1610;&#1605; &#1608;&#1575;&#1604;&#1603;&#1576;&#1610;&#1585; &#1608;&#1573;&#1584;&#1575; &#1589;&#1604;&#1609; &#1571;&#1581;&#1583;&#1603;&#1605; &#1604;&#1606;&#1601;&#1587;&#1607; &#1601;&#1604;&#1610;&#1591;&#1608;&#1604; &#1605;&#1575; &#1588;&#1575;&#1569; -- &#1589;&#1581;&#1610;&#1581; &#1575;&#1604;&#1576;&#1582;&#1575;&#1585;&#1610; #Hadith #&#65018;" "ar" "1662356936" "dior_cf" "35" "0" "Sun Aug 11 11:40:18 +0000 2013" "http://ask.fm/Dior_cf" "0" "2" "Hadith,ﷺ" "54" "3843"
"Sun Feb 08 20:15:21 +0000 2015" "564517863977795584" "RT @buraksrgl: 10 DK &#304;&#199;&#304;NDE TAK&#304;P EDENLERE +400 TAK&#304;P&#199;&#304; ATICAM" "tr" "3010090865" "ClassicPow" "920" "746" "Sun Feb 01 13:34:38 +0000 2015" "takip ed takip ediyim " "0" "1" "buraksrgl" "2967574745" "1749" "1673"
"Sun Feb 08 20:15:21 +0000 2015" "564517863969792000" "RT @ArianatorIsland: Red Carpet! #GRAMMYs http://t.co/H4yfPFli3J" "en" "174777017" "claudiaread" "626" "16843" "Wed Aug 04 20:08:08 +0000 2010" "" "0" "1" "ArianatorIsland" "170656421" "1" "GRAMMYs" "582" "19879"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment