为啥 Pandas 在 read_csv 时会导致 ZeroDivisionError

Posted

技术标签:

【中文标题】为啥 Pandas 在 read_csv 时会导致 ZeroDivisionError【英文标题】:Why Pandas cause ZeroDivisionError when read_csv为什么 Pandas 在 read_csv 时会导致 ZeroDivisionError 【发布时间】:2016-07-18 04:39:21 【问题描述】:

我使用Pandas 0.17.1

当我运行此代码时,我收到 ZeroDivisionError 消息。 但是当我阅读其他 csv 文件(相同的内容)时,它正在工作。为什么?

Python:

import pandas as pd

def main():
    input_raw_data = pd.read_csv('wtf_table.csv')

if __name__ == '__main__':
    main()

错误信息:

ZeroDivisionError: integer division or modulo by zero

csv 内容

EQP ID,Unit Name,Data Source,Start Time,End Time,Event State,Duration (s),Event Name
QE,1,E, 2016/3/16 07:00, 2016/3/16 07:01,PROCESS,115.135,RECIPESTART
QE,1,E, 2016/3/16 07:00, 2016/3/16 07:01,PROCESS,0.823,RECIPEEND
QE,1,E, 2016/3/16 07:01, 2016/3/16 07:02,TRANSFER,16.924,PROCESSEND

【问题讨论】:

发布您的数据或可重现的样本数据或指向您的实际 csv 的链接,我们无法从错误中生成错误数据 就目前而言,您的代码可能无法正确加载您的 csv,因为您的 csv 不是逗号分隔的,您需要解释列名实际上是什么以及这些数据是如何分隔的 对我来说工作得很好,虽然我只是自己做了input_raw_data 行,没有所有的包装。如果你想按照你的方式做,需要让函数返回一些东西——例如return pd.read_csv()。但是我不知道零除错误是什么,你肯定也在做其他事情??? 【参考方案1】:

应该添加encoding='utf-16'以避免未知错误

input_raw_data = pd.read_csv('wtf_table.csv',encoding='utf-16')

【讨论】:

以上是关于为啥 Pandas 在 read_csv 时会导致 ZeroDivisionError的主要内容,如果未能解决你的问题,请参考以下文章

为啥在指定编码 utf-8 时 pandas read_csv 会出现 unicode 错误? [复制]

为啥 pandas 在进行季节性分解时会要求 freq 或 x?

坏数据上的 Pandas 数据帧 read_csv

为啥使用 pandas read_sql 使用 bigquery 时会出现性能问题?

如何使用 Python pandas 在 read_csv 期间识别不良记录?

Python Pandas——Read_csv详解