【发布时间】:2018-12-08 06:56:20
【问题描述】:
我有一个没有标题的 csv 文件。它有大约 35 列。
我正在使用 pandas 读取此文件。 目前,问题是当它读取文件时,它会自动为每一列分配数据类型。
如何避免自动分配数据类型?
我有一个列 C,我想将其存储为字符串而不是 int。但是 pandas 会自动将其分配给 int
我尝试了两件事。
1)
my_df = pd.DataFrame()
my_df = pd.read_csv('my_csv_file.csv',names=['A','B','C'...'Z'],converters={'C':str},engine = 'python')
上面的代码给了我错误
ValueError: Expected 37 fields in line 1, saw 35
如果我删除,converters={'C':str},engine = 'python' 没有错误
2)
old_df['C'] = old_df['C'].astype(int)
这种方法的问题是,如果列中的值为'00123',则它已经转换为123,然后将其转换为'123'。它会丢失初始 Zeroes ,因为它认为它是整数。
【问题讨论】: