我尝试将文本文件作为数据框导入Python。 我的文本文件基本上由2列组成,两列都是数字。
问题是:我希望将其中一列作为字符串导入(因为许多'数字以零开头,例如0123,我将需要此列来合并df与后来的另一个)
我的代码如下所示:
mydata = pd.read_csv("text_file.txt", sep = "\t", dtype = {"header_col2": str})
但是,我仍然在输出中丢失零,因此4位数字会变成3位数字。
我假设我的导入代码有问题,但我找不到任何解决方案。
我是python / pandas的新手,所以非常感谢任何帮助/建议!
答案 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。像往常一样 - 非常好的拥有一些数据和原始帖子中代码的最小工作示例。