将数字作为字符串导入到文本的数据框中

时间:2018-05-29 09:06:46

标签: python string pandas dataframe import

我尝试将文本文件作为数据框导入Python。 我的文本文件基本上由2列组成,两列都是数字。

问题是:我希望将其中一列作为字符串导入(因为许多'数字以零开头,例如0123,我将需要此列来合并df与后来的另一个)

我的代码如下所示:

mydata = pd.read_csv("text_file.txt", sep = "\t", dtype = {"header_col2": str})

但是,我仍然在输出中丢失零,因此4位数字会变成3位数字。

我假设我的导入代码有问题,但我找不到任何解决方案。

我是python / pandas的新手,所以非常感谢任何帮助/建议!

1 个答案:

答案 0 :(得分:0)

很难理解原始代码无效的原因:

from io import StringIO    
import pandas as pd    

# this mimics your data
mock_txt = StringIO("""header_col2\theader_col3
0123\t5
0333\t10
""")

# same reading as you suggested 
df = pd.read_csv(mock_txt, sep = "\t", dtype = {"header_col2": str})

# are they really strings?
assert isinstance(df.header_col2[0], str)
assert isinstance(df.header_col2[1], str)

P.S。像往常一样 - 非常好的拥有一些数据和原始帖子中代码的最小工作示例。