Python操作csv和excel的教程随处可见,可惜我遇到的是tsv, 然后可搜到的资料屈指可数,在经历了一番努力之后终于找到了解决方案,顺手还研究了一波文件读取,写下来记录一下。
首先上成果,伸手党自取:
import csv
def write_to_tsv(output_path: str, file_columns: list, data: list):
csv.register_dialect('tsv_dialect', delimiter='\t', quoting=csv.QUOTE_ALL)
with open(output_path, "w", newline="") as wf:
writer = csv.DictWriter(wf, fieldnames=file_columns, dialect='tsv_dialect')
writer.writerows(data)
csv.unregister_dialect('tsv_dialect')
def read_from_tsv(file_path: str, column_names: list) -> list:
csv.register_dialect('tsv_dialect', delimiter='\t', quoting=csv.QUOTE_ALL)
with open(file_path, "r") as wf:
reader = csv.DictReader(wf, fieldnames=column_names, dialect='tsv_dialect')
datas = []
for row in reader:
data = dict(row)
datas.append(data)
csv.unregister_dialect('tsv_dialect')
return datas
上面就是读写tsv时用到的代码了,下面写一下基础知识点。
一、科普
1、Open函数:
open(file, mode=‘r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中参数:mode:由两部分组成