文件读写虽然不难,但有时候也挺麻烦,容易记混,在这记一下。
先说普通读写。
f_in = open(in_path, 'r')
f_out= open(out_path, 'w', encoding='utf-8')
all_line = f_in.read().splitlines()
for line in all_line:
#这里是一个指定多个分隔符的字符串处理,返回一个列表,分隔符之间用“|”分开。
tmp = re.split('u:| i:| z:| score:', line)
out_line = str(tmp[0])+ "\n"
f.write(out_line)
f_in.close()
f_out.close()
csv读写看似麻烦一点,实际只是外面套了个壳。
f_in = open(path_in, 'r', newline='')
reader = csv.reader(f_in)
f_out = open(path_out, 'w', newline='') # python3下
writer = csv.writer(f_out)
#如果需要列名
keys = ['user', 'friend', 'sim', 'score']
writer.writerow(keys)
for line in reader:
tmp = re.split('u:| i:| z:| score:', line[0])
writer.writerow([tmp[0], tmp[1], tmp[2], tmp[3]])
f_in.close()
f_out.close()
当然txt转csv或者csv转txt也都是可以的。