Python将大(10GB).csv转换为.tsv
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python将大(10GB).csv转换为.tsv相关的知识,希望对你有一定的参考价值。
python新手。想要将大型csv文件转换为tsv。
import re
with open("D:/AddressEvaluation/NAD/NAD.csv", 'r') as myfile:
with open("D:/NAD.txt", 'w') as csv_file:
for line in myfile:
fileContent = re.sub(",", " ", line)
csv_file.write(fileContent)
我错过了什么吗?纠正我如果我错了。
答案
这应该这样做:
import csv
with open('D:/AddressEvaluation/NAD/NAD.csv','r') as csvin, open('D:/NAD.txt', 'w') as tsvout:
csvin = csv.reader(csvin)
tsvout = csv.writer(tsvout, delimiter=' ')
for row in csvin:
tsvout.writerow(row)
另一答案
小心引用
CSV和TSV格式的一个区别是,大多数CSV实现都希望分隔符可以在数据中使用,并规定引用机制。例如,“Doe,John”将是一列,当转换为TSV时,您需要将逗号留在那里,但删除引号。
Name,Age
Bob,12
"Doe, John",13
"William ""Billy"" Bob",14
可能需要适当地转变为
Name Age
Bob 12
Doe, John 13
William "Billy" Bob 14
这不是拟议的代码正在做什么。
你可能最好使用现成的csv解析器,例如pandas提供的解析器(http://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.read_csv.html)
以上是关于Python将大(10GB).csv转换为.tsv的主要内容,如果未能解决你的问题,请参考以下文章
使用 python 将 tsv 文件转换为 xls/xlsx