从.txt导入到.csv时,将列的值定义为“text”

时间:2014-04-09 19:12:30

标签: python csv text import

我有一个文本文件,我需要转换为csv文件(到目前为止没问题)。但是,一列有数字,当我导入文件时,数字前面的零被删除。我需要" 0"留下来。

Req_num    P_ID   
15001      000989980

因此,我需要确保特定列的数据类型为" text"。有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

仅限Python的解决方案

文件test.txt

Req_num    P_ID   
15001      000989980
0123       0054321

文件convert.py

import re

with open("test.txt", "r") as fin:
    with open("test.csv", "w") as fout:
        for line in fin.readlines():
            fout.write(", ".join(re.split("\s+", line.strip())) + "\n")

python convert.py中运行test.csv之后:

Req_num, P_ID
15001, 000989980
0123, 0054321

使用unix

的更好解决方案

档案convert.py

import re
import sys

for line in sys.stdin:
    print ", ".join(re.split("\s+", line.strip()))

现在您必须从终端运行cat test.txt | python converty.py > test.csv