txt_file = ''
csv_file =''
csvFile = open(csv_file, 'w', newline='', encoding='utf-8')
writer = csv.writer(csvFile)
csvRow = []
f = open(txt_file, 'r', encoding='utf-8')
for line in f:
csvRow = line.split()
writer.writerow(csvRow)
f.close()
csvFile.close()
如上述代码所示,虽然可以将txt文件转化为csv文件格式,但是如果txt文件中有空值,那么在生成的CSV文件中会出现错误(在txt转csv时,不会识别出空值的格式,除非你的空值是0或null)。如果你的空值是是空格或者tab的形式出现,就很容易导致错误。可以尝试如下方法
txt_file = ''
csv_file =''
with open(txt_file, 'r', encoding='utf-8') as f:
reader = csv.reader(f, delimiter='\t')
with open(csv_file, 'w', newline='', encoding='utf-8') as csvFile:
writer = csv.writer(csvFile)
for row in reader:
writer.writerow(row)
上述代码首先使用csv.reader()方法读取txt文件,将其分割为单独的行和列。由于原始文件中每个字段间使用了制表符作为分隔符,因此指定delimiter参数为’\t’。然后使用csv.writer()方法写入到csv文件中。这样做能够避免部分空值没有转化的问题,同时也更加简洁易懂。