At my job, often I have to manually convert *.csv Files structured like:
number,number\n
number,number\n
number,number\n
...
To a regular *.txt file with the structure:
#1
double filename(number of columns, number of columns)
number number
number number
number number
...
This file is an input to another program, and rather than spending the time to copy and paste the excel sheet into notepad and crop out all the commas and make sure there are spaces and such I decided to write a python script that would do it for me.
Now, to be fair, I am new to Python, and this script works perfectly (first try), I would just like some feedback on my methods, or ways to improve my quality of code.
# A simple program to create a formatted text file from a *.csv file.
csv_file = input('Enter the name of your input file: ')
txt_file = input('Enter the name of your output file: ')
try:
my_input_file = open(csv_file, "r")
except IOError as e:
print("I/O error({0}): {1}".format(e.errno, e.strerror))
if not my_input_file.closed:
text_list = [];
for line in my_input_file.readlines():
line = line.split(",", 2)
text_list.append(" ".join(line))
my_input_file.close()
try:
my_output_file = open(txt_file, "w")
except IOError as e:
print("I/O error({0}): {1}".format(e.errno, e.strerror))
if not my_output_file.closed:
my_output_file.write("#1\n")
my_output_file.write("double({},{})\n".format(len(text_list), 2))
for line in text_list:
my_output_file.write(" " + line)
print('File Successfully written.')
my_output_file.close()