4

我有一组数字(NDC - 药物编号),其中包含一个-。我正在尝试读取文件,删除-并将数字写入新文件。对此的任何帮助将不胜感激。使用 Py 2.7

1. 68817-0134-50
2. 68817-0134-50
3. 68817-0134-50

问题是连字符并不总是在同一个位置。

1. 8290-033010

它会发生变化并且可以处于任何位置

with open('c:\NDCHypen.txt', 'r') as infile,
     open('c:\NDCOnly.txt', 'w') as outfile:
    replace("-", "")
4

2 回答 2

16
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)

为防止转换行尾(例如 between '\r\n'and \n'),请以二进制模式打开两个文件:传递'rb''wb'作为open的第二个参数。

于 2013-10-05T19:08:44.553 回答
11

您可以使用 shell 脚本轻松完成此操作,该脚本必须比 python 实现更快。除非你对脚本有更多的东西,否则你应该使用 shell 脚本版本。

但是,对于 Python,它将是:

with open('c:\NDCHypen.txt', 'r') as infile, open('c:\NDCOnly.txt', 'w') as outfile:
    temp = infile.read().replace("-", "")
    outfile.write(temp)
于 2013-10-05T19:06:06.587 回答