【发布时间】:2016-06-14 00:42:40
【问题描述】:
所以我的数据看起来像:
1 3456542 5 may 2014
2 1245678 4 may 2014
3 4256876 2 may 2014
4 5643156 6 may 2014
.....
目标是按第 2 列对其进行排序,然后根据第 2 列中的第一个数字分隔行(即 3456542 进入 subs_3.txt,1245678 进入 subs_1.txt...)。输出完全错误,给了我 6 个文件,其中似乎是随机行。有什么建议吗?
import csv
from operator import itemgetter
file_lines = []
with open("subs.txt", "r") as csv_file:
reader = csv.reader(csv_file, delimiter=" ")
for row in reader:
file_lines.append(row)
file_lines.sort(key=itemgetter(1))
with open("sorted_subs.txt", "w") as csv_file:
writer = csv.writer(csv_file, delimiter=" ")
for row in file_lines:
writer.writerow(row)
for row in file_lines:
file_num = row[1[1]
with open("file_{0}.txt".format(file_num), "w") as f:
writer = csv.writer(f, delimiter=" ")
writer.writerow(row)
【问题讨论】: