Reputation: 761
I have a set of numbers (NDC - drug numbers) that have a -
in them. I am trying to read the file, remove the -
and write the numbers to a new file. Any help with this would be appreciated. Using Py 2.7
1. 68817-0134-50
2. 68817-0134-50
3. 68817-0134-50
The issue is that the hyphen is not always in the same position.
1. 8290-033010
It changes and can be in any position
with open('c:\NDCHypen.txt', 'r') as infile,
open('c:\NDCOnly.txt', 'w') as outfile:
replace("-", "")
Upvotes: 5
Views: 51988
Reputation: 87311
with open(r'c:\NDCHypen.txt', 'r') as infile, \
open(r'c:\NDCOnly.txt', 'w') as outfile:
data = infile.read()
data = data.replace("-", "")
outfile.write(data)
To prevent the conversion of line endings (e.g. between '\r\n'
and \n'
), open both files in binary mode: pass 'rb'
or 'wb'
as the 2nd arg of open.
Upvotes: 18
Reputation: 348
You can do it easily with a shell script which would be must faster than a python implementation. Unless you have something more with the script, you should go with the shell script version.
However, with Python it would be:
with open('c:\NDCHypen.txt', 'r') as infile, open('c:\NDCOnly.txt', 'w') as outfile:
temp = infile.read().replace("-", "")
outfile.write(temp)
Upvotes: 12