编辑-对不起,我误读了你的问题。更新了我的答案。
您可以将整个csv读取为字符串,然后将所需的列转换为其他类型,如下所示:
df = pd.read_csv('/path/to/file.csv', dtype=str)# example df; yours will be from pd.read_csv() abovedf = pd.Dataframe({'A': ['1', '3', '5'], 'B': ['2', '4', '6'], 'C': ['x', 'y', 'z']})types_dict = {'A': int, 'B': float}for col, col_type in types_dict.items(): df[col] = df[col].astype(col_type)
另一种方法是,如果您确实要在读入文件时为所有列指定正确的类型,而不是在以后更改它们:仅读入列名(无行),然后使用那些来填充应为字符串的列
col_names = pd.read_csv('file.csv', nrows=0).columnstypes_dict = {'A': int, 'B': float}types_dict.update({col: str for col in col_names if col not in types_dict})pd.read_csv('file.csv', dtype=types_dict)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)