Pandas read_csv 函数:有没有办法根据索引将特定列读取为字符串?

Bis*_*ash 1 python python-3.x pandas

我有一个包含数据的 csv,如下所示:

identifier,vcenter,cores,ram
008,10.196.15.190,4,8
Run Code Online (Sandbox Code Playgroud)

当我读取 csv 文件时,它将标识符读取为 int

import pandas as pd
df = pd.read_csv('vm.csv')
df
    identifier  vcenter cores   ram
    8   example123  4        8
Run Code Online (Sandbox Code Playgroud)

我需要什么:

identifier  vcenter cores   ram
 008       example123   4        8
Run Code Online (Sandbox Code Playgroud)

并不总是确定标识符列名称将被命名为标识符,它可以是“machine_name”、“identifiers_example”。所以我不能使用列名称指定数据类型。

我使用 dype=object ,但它更改了所有列的数据类型,包括核心和内存。这是在代码验证部分中捕获的,因此无法使用它。然而标识符的索引总是已知的,关于如何做到这一点有什么想法吗?

Pi-*_*i-R 5

如果您想将第一列转换为str可以使用: df.iloc[:,0]=df.iloc[:,0].astype(str)

或者当您阅读 csv 时:pd.read_csv(...,dtype = {0:str})