Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python csv到tsv:以防记录中有逗号_Python_Csv - Fatal编程技术网

python csv到tsv:以防记录中有逗号

python csv到tsv:以防记录中有逗号,python,csv,Python,Csv,我正在尝试将csv格式转换为tsv。 我只是用这个把逗号改成了制表符 tsv=re.sub(',','\t',csv) 但我无法处理内部带有逗号的字符串,例如: dept_no,dt,hello 1,20180411,hello its me 2,20180412,here has tab 3,20180412,"here, is, commas" 是否有任何方法可以在不影响字符串内部逗号的情况下转换为tsv?请尝试以下操作,csv模块应处理内联逗号 import csv csv.writer

我正在尝试将csv格式转换为tsv。 我只是用这个把逗号改成了制表符

tsv=re.sub(',','\t',csv)

但我无法处理内部带有逗号的字符串,例如:

dept_no,dt,hello
1,20180411,hello its me
2,20180412,here has tab
3,20180412,"here, is, commas"

是否有任何方法可以在不影响字符串内部逗号的情况下转换为tsv?

请尝试以下操作,
csv
模块应处理内联逗号

import csv
csv.writer(file('output.tsv', 'w+'), delimiter='\t').writerows(csv.reader(open("input.csv"))) 
编辑-1
[根据讨论增加了开放式方法]

与直接调用构造函数时使用
文件
不同,您可以使用
打开
,这是根据的首选方法。 结果是一样的

csv.writer(open('output.tsv', 'w+'), delimiter='\t').writerows(csv.reader(open("input.csv")))
结果

尝试以下操作,
csv
模块应处理内联逗号

import csv
csv.writer(file('output.tsv', 'w+'), delimiter='\t').writerows(csv.reader(open("input.csv"))) 
编辑-1
[根据讨论增加了开放式方法]

与直接调用构造函数时使用
文件
不同,您可以使用
打开
,这是根据的首选方法。 结果是一样的

csv.writer(open('output.tsv', 'w+'), delimiter='\t').writerows(csv.reader(open("input.csv")))
结果

可能的副本您应该使用csv模块来解析文件-它包含了这个和其他角落案例。可能的副本您应该使用csv模块来解析文件-它包含了这个和其他角落案例。
文件('output.tsv','w+')
打开('output.tsv','w+')
?两者都是可行的<代码>打开调用
文件
根据此处的文档进行内部调用:。然而,
open
是受欢迎的首选方式。非常感谢<代码>文件('output.tsv','w+')或
open('output.tsv','w+')
?两者都是可行的<代码>打开调用
文件
根据此处的文档进行内部调用:。然而,
open
是受欢迎的首选方式。非常感谢!