Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python csv源文件中缺少条目_Python_Csv - Fatal编程技术网

Python csv源文件中缺少条目

Python csv源文件中缺少条目,python,csv,Python,Csv,我有一个包含715014个条目的数据集。这是一个工作机密文件,因此我无法上载csv文件。以下是前10行: IP、Ping、主机名、端口 172.20.1.1,4毫秒[n/a],[n/s] 172.20.1.2,3毫秒[n/a],[n/s] 172.20.1.3,3毫秒[n/a],[n/s] 172.20.1.4【不适用】【不适用】【不适用】【不适用】【不适用】 172.20.1.5【不适用】【不适用】【不适用】【不适用】【不适用】 172.20.1.6【不适用】【不适用】【不适用】【不适用】【不

我有一个包含715014个条目的数据集。这是一个工作机密文件,因此我无法上载csv文件。以下是前10行:

IP、Ping、主机名、端口

172.20.1.1,4毫秒[n/a],[n/s]

172.20.1.2,3毫秒[n/a],[n/s]

172.20.1.3,3毫秒[n/a],[n/s]

172.20.1.4【不适用】【不适用】【不适用】【不适用】【不适用】

172.20.1.5【不适用】【不适用】【不适用】【不适用】【不适用】

172.20.1.6【不适用】【不适用】【不适用】【不适用】【不适用】

172.20.1.7【不适用】【不适用】【不适用】【不适用】【不适用】

172.20.1.8【不适用】【不适用】【不适用】【不适用】【不适用】

172.20.1.9,0毫秒[n/a],[n/s] 172.20.1.10,1 ms,d36b3yz1 phth.regis.net,[n/s]

以下是我尝试过的:

import pandas as pd
import csv
df = pd.read_csv('Userpc.csv',quoting=csv.QUOTE_NONE, error_bad_lines=False)
df.info()
结果:

范围索引:1448个条目,0到1447

数据列(共4列):

IP1448非空对象

Ping 1448非空对象

主机名1448非空对象

端口1447非空对象

数据类型:对象(4)

内存使用率:45.3+KB

熊猫怎么会错过我的大部分数据?当我写入一个新的.csv文件时,它也只包含1448行,而不是整个700000行


感谢您抽出时间,对于我的问题中出现的格式错误,我深表歉意

与其猜测熊猫认为什么是不可接受的,不如先仔细检查输入。阅读每一行输入,对其进行解析,替换可能对熊猫造成麻烦的项目,并临时存储它们。当您发现一行无法成功解析时,请打印它以供检查,然后更改解析器以适应您已识别的新情况

一些例子:

  • 用双引号将IP地址和主机名括起来;即,“172.20.1.1”和“d36b3yz1 phth.regis.net”
  • 将以毫秒为单位的ping时间(如“4毫秒”)替换为数字,在本例中为4。如果稍后发现某些ping时间在分钟范围内,则调整解析器
  • 将[n/a]的ping次数替换为空字符串
  • 用空字符串替换[n/s]的端口,除非其中有数据,在这种情况下,将数据用双引号括起来
  • 尝试分割空白字符上的每一行,这样,当遇到示例中的第十行时,您将能够检测到两个记录的存在,每个记录都会如上所述单独处理。

我想说的是,将临时记录放在一个(临时)sqlite3数据库表中,该表可以很容易地放入Pandas中。

找到显示问题的一小部分数据。当端口记录中有[n/s]以外的内容时,会是什么?@BillBell Ports都是[n/s]。