我有多个csv文件(< 10 G),我需要以内存有效的方式逐个验证文件。我的验证包括
1→文件正确分隔
2→验证某些列,如整数/小数
3→验证某些列的日期格式(例如,yyyy / MM / dd)。
目前我正在使用
with open(file_name, 'r') as myCSV:
CSVreader = csv.reader(myCSV)
for row in CSVreader:
my_logic
并循环每一行并验证每行的条件。有没有更好的库/方法?我听说大熊猫不知道它是否有记忆效率。
答案 0 :(得分:1)
我有一些类似的循环,永远使用熊猫,并通过使用这个技巧能够加快它的速度:
for row in dataframe:
some logic over row.col1, row.col2, etc...
变为:
for (col1, col2, ...) in zip(dataframe.col1.values, dataframe.col2.values, ...):
some logic over col1, col2, etc...
不确定内存如何,但能够使用64位版本的python处理相当大的文件。