open a file in python read and write code example
Example 1: python make txt file
file = open("text.txt", "w")
file.write("Your text goes here")
file.close()
'r' open for reading (default)
'w' open for writing, truncating the file first
'x' open for exclusive creation, failing if the file already exists
'a' open for writing, appending to the end of the file if it exists
Example 2: python read file
# Basic syntax:
with open('/path/to/filename.extension', 'open_mode') as filename:
file_data = filename.readlines() # Or filename.read()
# Where:
# - open imports the file as a file object which then needs to be read
# with one of the read options
# - readlines() imports each line of the file as an element in a list
# - read() imports the file contents as one long new-line-separated
# string
# - open_mode can be one of:
# - "r" = Read which opens a file for reading (error if the file
# doesn't exist)
# - "a" = Append which opens a file for appending (creates the
# file if it doesn't exist)
# - "w" = Write which opens a file for writing (creates the file
# if it doesn't exist)
# - "x" = Create which creates the specified file (returns an error
# if the file exists)
# Note, "with open() as" is recommended because the file is closed
# automatically so you don't have to remember to use file.close()
# Basic syntax for a delimited file with multiple fields:
import csv
with open('/path/to/filename.extension', 'open_mode') as filename:
file_data = csv.reader(filename, delimiter='delimiter')
data_as_list = list(file_data)
# Where:
# - csv.reader can be used for files that use any delimiter, not just
# commas, e.g.: '\t', '|', ';', etc. (It's a bit of a misnomer)
# - csv.reader() returns a csv.reader object which can be iterated
# over, directly converted to a list, and etc.
# Importing data using Numpy:
import numpy as np
data = np.loadtxt('/path/to/filename.extension',
delimiter=',', # String used to separate values
skiprows=2, # Number of rows to skip
usecols=[0,2], # Specify which columns to read
dtype=str) # The type of the resulting array
# Importing data using Pandas:
import pandas as pd
data = pd.read_csv('/path/to/filename.extension',
nrows=5, # Number of rows of file to read
header=None, # Row number to use as column names
sep='\t', # Delimiter to use
comment='#', # Character to split comments
na_values=[""]) # String to recognize as NA/NaN
# Note, pandas can also import excel files with pd.read_excel()
Example 3: python file handling
with open('filename', 'a') as f: # able to append data to file
f.write(var1) # Were var1 is some variable you have set previously
f.write('data')
f.close() # You can add this but it is not mandatory
with open('filename', 'r') as f: # able to read data from file ( also is the default mode when opening a file in python)
with open('filename', 'x') as f: # Creates new file, if it already exists it will cause it to fail
with open('filename', 't') as f: # opens the file in text mode (also is defualt)
with open('filename', 'b') as f: # Use if your file will contain binary data
with open('filename', 'w') as f: # Open file with ability to write, will also create the file if it does not exist (if it exists will cause it to fail)
with open('filename', '+') as f: # Opens file with reading and writing
# You can combine these as you like with the + for reading and writing