Skip to content

Instantly share code, notes, and snippets.

View CharlyWargnier's full-sized avatar
🎈

Charly Wargnier CharlyWargnier

🎈
View GitHub Profile
df[['httpCode','header']] = df["header"].str.split(" ", 1, expand=True)
df[['httpProto','header']] = df["header"].str.split("\" ", 1, expand=True)
df[['url','header']] = df["header"].str.split(" ", 1, expand=True)
# Remove slash (/) at the start of each URL
df['url'] = df['url'].str.replace('/','',n=1)
df[['Method','header']] = df["header"].str.split(" ", 1, expand=True)
df[['Domain','header']] = df["header"].str.split(" \"", 1, expand=True)
# Split Date & Time
df[['Date_Time', 'header']] = df['header'].str.split("\] ", 1,
expand=True)
df['Date_Time'] = df['Date_Time'].str.replace(':.*', '')
# Convert the Date_Time column from string to datetime format
df['Date'] = pd.to_datetime(df['Date_Time'], errors='coerce',
infer_datetime_format=True)
# Remove Time column, for clarity's sake
# Split IP addresses
df[['IP','header']] = df["header"].str.split(" - - \[", 1, expand=True)
# Remove slash
df['IP'] = df['IP'].str.replace("Row\(\('","",n=1)
df.rename(columns={0:'header'}, inplace=True)
# Note that we convert a list of lists, not just a list.
df = pd.DataFrame.from_records(log_sample)
df.info()
## Form elements ##
table_name = 'log_sample' #@param {type:"string"}
SQL_1st_Filter ='ch.loggy' #@param {type:"string"}
SQL_Useragent_Filter = "Googlebot/2.1" #@param ["Googlebot/2.1", "YandexBot", "BingBot", "DuckDuckBot", "Baiduspider"] {allow-input: true}
# Temporary Bigquery table name
table_id = table_name
## Full SQL query ##