我如何将.tsv转换为.csv?

han*_*nah 6 python csv tsv

试图将.tsv转换为.csv.这个:

import csv

# read tab-delimited file
with open('DataS1_interactome.tsv','rb') as fin:
    cr = csv.reader(fin, delimiter='\t')
    filecontents = [line for line in cr]

# write comma-delimited file (comma is the default delimiter)
with open('interactome.csv','wb') as fou:
    cw = csv.writer(fou, quotechar='', quoting=csv.QUOTE_NONE)
    cw.writerows(filecontents)
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

  File "tsv2csv.py", line 11, in <module>
    cw.writerows(filecontents)
_csv.Error: need to escape, but no escapechar set
Run Code Online (Sandbox Code Playgroud)

Eri*_*k S 7

在尝试写入 CSV 文件时,它遇到一个必须插入转义字符的标记。但是,您还没有定义一个。

方言转义符

如果quoting 设置为QUOTE_NONE 和quotechar 如果doublequote 为False,则作者用于转义分隔符的单字符字符串。在阅读时,转义字符会从以下字符中删除任何特殊含义。它默认为 None,禁用转义。

来源:https : //docs.python.org/2/library/csv.html#csv.Dialect.escapechar

示例代码:

# write comma-delimited file (comma is the default delimiter)
with open('interactome.csv','wb') as fou:
    cw = csv.writer(fou, quotechar='', quoting=csv.QUOTE_NONE, escapechar='\\')
    cw.writerows(filecontents)
Run Code Online (Sandbox Code Playgroud)


Ter*_*r17 6

import pandas as pd 
tsv_file='name.tsv'
csv_table=pd.read_table(tsv_file,sep='\t')
csv_table.to_csv('new_name.csv',index=False)
Run Code Online (Sandbox Code Playgroud)

我们可以使用上面的代码将.tsv文件转换为.csv文件