Appearance
Python snippets
Outlook email
python
import win32com.client as win32
def send_email(subject: str = 'Automated Email', body: str, recipients: str) -> None:
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = recipients
mail.Subject = subject
mail.Body = body
mail.Display() # Show the email
# mail.Send() # Send the email
Python Excel
python
import pandas
def df_from_excel(file_path: str = '.', sheet_name: str = 'Sheet1') -> pandas.DataFrame:
return pandas.read_excel(file_path, sheet_name=sheet_name)
def df_to_excel(df: pandas.DataFrame, file_path: str = '.', sheet_name: str = 'Sheet1') -> None:
df.to_excel(file_path, sheet_name=sheet_name, index=False)
Dictionary to PDF
python
import fpdf
def dict_to_pdf(data: dict, file_path: str = '.', file_name: str = 'export.pdf') -> None:
pdf = fpdf.FPDF()
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
for key, value in data.items():
pdf.cell(200, 10, txt=f'{key}: {value}', ln=1, align='L')
pdf.output(f'{file_path}/{file_name}')
Argparse input/output file
python
import argparse
def main():
parser = argparse.ArgumentParser(description='Description of your program')
parser.add_argument('-i', '--input', help='Specify input file', required=False, default='input.txt', type=str)
parser.add_argument('-o', '--output', help='Specify output file', required=False, default='output.txt', type=str)
args = parser.parse_args() # Parse arguments into usable variables
print(args.input) # Print the input file
print(args.output) # Print the output file
Python logging
python
import logging
logging.basicConfig(filename='log.txt', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('Start of program')
logging.info('Doing something')
logging.warning('Dying now')
Python CSV
python
import csv
def read_csv(file_path: str = '.', file_name: str = 'input.csv') -> list:
with open(f'{file_path}/{file_name}', 'r') as file:
reader = csv.reader(file)
return list(reader)
def write_csv(data: list, file_path: str = '.', file_name: str = 'output.csv') -> None:
with open(f'{file_path}/{file_name}', 'w') as file:
writer = csv.writer(file)
writer.writerows(data)
Python JSON
python
import json
def read_json(file_path: str = '.', file_name: str = 'input.json') -> dict:
return json.load(open(f'{file_path}/{file_name}', 'r'))
def write_json(data: dict, file_path: str = '.', file_name: str = 'output.json') -> None:
json.dump(data, open(f'{file_path}/{file_name}', 'w'))
return None
Python XML
python
import xml.etree.ElementTree as ET
def read_xml(file_path: str = '.', file_name: str = 'input.xml') -> dict:
tree = ET.parse(f'{file_path}/{file_name}')
root = tree.getroot()
return root
def write_xml(data: dict, file_path: str = '.', file_name: str = 'output.xml') -> None:
tree = ET.ElementTree(data)
tree.write(f'{file_path}/{file_name}')