在手机上做网站/深圳做网站的
首先区别这三个:
- csv文件,每一行中不同的数据用逗号分开, 不包含空格。
- tsv文件,分隔符号是‘\t’ 而不是csv中的逗号。
我是用的笨方法,先转成csv文件,再转成tsv。有其他更好用的方法可以交流
// txt to csv
import csv
csvFile = open("dev2.csv",'w',newline='',encoding='utf-8') // 我的数据是中文数据集,所以用utf-8
writer = csv.writer(csvFile)
csvRow = []f = open("dev.txt",'r',encoding='utf8')
for line in f:csvRow = line.split()writer.writerow(csvRow)
f.close()
csvFile.close()# 由于在txt中也包含了空格,所以得到的csv文件是根据空格划分的。
# 我的数据集的格式分成了两部分: (一个中文短句:string, 一个标签:int),但是短句中包括了空格,所以这样变换会分成三个或者更多个部分。# 所以改进代码,将list中的前[:-1]个合并成一个部分。
# 改进后代码如下:
import csv
csvFile = open("dev2.csv",'w',newline='',encoding='utf-8')
writer = csv.writer(csvFile)
csvRow = []f = open("dev.txt",'r',encoding='utf8')
for line in f:csvRow = line.split()temp_label = csvRow.pop() # 得到最后一个元素csvRow = ["".join(csvRow),temp_label] # join合并元素print(csvRow)writer.writerow(csvRow)
f.close()
csvFile.close()# # 转成tsv文件
with open('dev2.csv',encoding='utf-8') as f:data = f.read().replace(',', '\t')
with open('dev.tsv','w',encoding='utf-8') as f:f.write(data)
f.close()