我正在阅读excel电子表格中的一些列,其中一些字段是'ID'代码,这些代码看起来像数字(因为它们有前导零)。我想将这些ID字段保存为文本/字符串,是否有办法以文本形式读取所有内容并将数字字段转换为数字或以文本/字符串显式读取某些字段?
答案 0 :(得分:2)
考虑csv文件的txt
代理
from io import StringIO
import pandas as pd
txt = """col1,col2,col3
1,01,a
2,02,b
3,03,c"""
创建一个字典,其中键是列的序数位置,值是在这些列上调用的可调用对象。问题是我需要知道列数。在这里,我知道有3
。
converters = dict(enumerate([str] * 3))
print(converters)
{0: <class 'str'>, 1: <class 'str'>, 2: <class 'str'>}
然后我们将其传递给pd.read_csv
df = pd.read_csv(StringIO(txt), converters=converters)
print(df)
col1 col2 col3
0 1 01 a
1 2 02 b
2 3 03 c
和
print(df.dtypes)
col1 object
col2 object
col3 object
dtype: object