我有一个包含715,014个条目的数据集。这是一个工作机密文件,所以我无法上传csv文件。这是前10行:
IP,坪,主机名,端口
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,[N / A],[N / S],[N / S]
172.20.1.5,[N / A],[N / S],[N / S]
172.20.1.6,[N / A],[N / S],[N / S]
172.20.1.7,[N / A],[N / S],[N / S]
172.20.1.8,[N / A],[N / S],[N / S]
172.20.1.9,0毫秒,[N / A],[N / S] 172.20.1.10,1毫秒,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()
结果:
RangeIndex:1448个条目,0到1447
数据列(共4列):
IP 1448非空对象
Ping 1448非空对象
主机名1448非空对象
端口1447非空对象
dtypes:object(4)
内存使用量:45.3+ KB
Pandas如何错过我的大部分数据?当我写入新的.csv文件时,它只包含1448行而不是完整的700,000行。
感谢您的时间,对不起我的问题中的任何错误格式!
答案 0 :(得分:0)
不要猜测Pandas发现不可接受的东西,而是先仔细审查输入。读取每行输入,解析它,替换可能对Pandas很麻烦的项目,并暂时存储它们。当您找到无法解析的行时,将其打印以供检查,然后更改解析器以适应您已识别的新案例。
一些例子:
我想说,将临时记录放在一个(临时的)sqlite3数据库表中,该表很容易被放入Pandas。