【发布时间】:2018-09-28 10:37:45
【问题描述】:
我正在使用 python 将两个文件合并在一起以创建一个新文件,两个文件中的数据在我要排序的每个字符串的开头都有一个 id,因此它们的顺序相同并且可以合并。为此,我使用了 .sort() 以便它们都以相同的顺序排列,并且 cmets 匹配细节。但是,我现在想重新排序它们,使它们变为 1、2、3、4... 而不是 1、10、100、1000、1001、1002 等,但我遇到了困难,因为数字是字符串和python不会将字符串的前四个字符转换为整数。如果有任何帮助,它也是一个制表符分隔的文件,id 之后的下一条信息是日期。
任何想法都将不胜感激,理想情况下我不想导入任何库。
我的代码是:
comments = R'C:\Pythonfile\UFOGB_Comments.txt'
details = R'C:\Pythonfile\UFOGB_Details.txt'
mydest = R'C:\Pythonfile\UFOGB_sorted.txt'
with open(details,'rt') as src:
readdetails = src.readlines()
readdetails.sort()
with open(comments,'rt') as src:
readcomments = src.readlines()
readcomments.sort()
with open(mydest, 'w') as dest:
for i in range(len(readdetails)):
cutcomm = readcomments[i][readcomments[i].find('"'):]
dest.write('{}\t{}'.format(readdetails[i].strip('\n'),cutcomm))
【问题讨论】:
-
您能否提供输入文件的简短 sn-p 和相同的预期输出
标签: python string python-3.x function sorting