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的主要内容,如果未能解决你的问题,请参考以下文章

将大 csv 转换为 hdf5

csv与tsv文件格式的转换

python Python:批量转换.tsv到.csv

使用 python 将 tsv 文件转换为 xls/xlsx

如何在 BASH 中将制表符分隔值 (TSV) 文件转换为逗号分隔值 (CSV) 文件?

javascript 将表格文本(csv,tsv等)转换为javascript数组