我正在尝试将文本文件作为数据框导入 Python。我的文本文件基本上由 2 列组成,这两列都是数字。
问题是:我希望将其中一列作为字符串导入(因为许多“数字”以零开头,例如 0123,稍后我将需要此列将 df 与另一列合并)
我的代码如下所示:
mydata = pd.read_csv("text_file.txt", sep = "\t", dtype = {"header_col2": str})
但是,我仍然在输出中丢失了零,因此将 4 位数字变成了 3 位数字。
我假设我的导入代码有问题,但我还没有找到任何解决方案。
我是 python/pandas 的新手,所以任何帮助/建议将不胜感激!
很难理解为什么您的原始代码不起作用:
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)
PS 一如既往 - 在原始帖子中有一些数据和一个带有代码的最小工作示例真是太好了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句