为啥 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_sql 使用 bigquery 时会出现性能问题?