我有3个10GB以上的文件,需要分成6个较小的文件。我通常会使用R之类的东西来加载文件并将其分区为较小的块,但是文件的大小会阻止将它们读入R中-即使有20GB的RAM。
我在接下来的工作上遇到了麻烦,不胜感激任何提示。
答案 0 :(得分:0)
在python中,不要使用生成器/迭代器将所有数据加载到内存中。
只需逐行阅读。
Csv库为您提供了一个读写器类,可以完成这项工作。
要分割文件,您可以编写如下内容:
class UserProfile(AbstractUser):
student_num = models.CharField(unique=True, null= False, max_length=9)
birthday = models.DateField(verbose_name='生日', null=True, blank=True)
gender = models.CharField(max_length=5, choices=(('male', '男'),('female', '女')), default='female')
address = models.CharField(verbose_name='地址', max_length=100, blank=True, null=True)
city = models.CharField(verbose_name='城市', max_length=20, default='Windsor')
province = models.CharField(max_length=20, verbose_name='省', default='ON')
zip_code = models.CharField(max_length=6, verbose_name='post code',blank=True, null=True )
mobile = models.CharField(max_length=10, null=True, blank=True)
enter_date = models.DateField(verbose_name='入学时间', blank=True, null=True)
class Meta:
verbose_name = 'StudentInfo'
verbose_name_plural = verbose_name
def __str__(self):
return self.username
我没有测试过,写在脑海中,所以,错误可能存在:)