将pandas dataframe列导入为字符串而不是int或float

ace*_*ner 3 python pandas

我指的是这个问题.

ID
00013007854817840016671868
00013007854817840016749251
00013007854817840016754630
00013007854817840016781876
00013007854817840017028824
00013007854817840017963235
00013007854817840018860166


df = read_csv('sample.csv')

df.ID
>>

0   -9223372036854775808
1   -9223372036854775808
2   -9223372036854775808
3   -9223372036854775808
4   -9223372036854775808
5   -9223372036854775808
6   -9223372036854775808
Name: ID
Run Code Online (Sandbox Code Playgroud)

建议的解决方案是这样的:

read_csv('sample.csv', dtype={'ID': object})
Run Code Online (Sandbox Code Playgroud)

但是,如果我希望将整个csv文件读取为str列而不是int?,该怎么办?为每列提供字典将是非常繁琐的.有没有更干净的方法?

jez*_*ael 6

您可以使用参数dtypestr:

df = pd.read_csv('sample.csv', dtype=str)
Run Code Online (Sandbox Code Playgroud)