我有一个数据txt文件格式,以以下格式加载到数据库(MySQL)中(有点夸张):
数据.txt
name age profession datestamp
John 23 engineer 2020-03-01
Amy 17 doctor 2020-02-27
Gordon 19 artist 2020-02-27
Kevin 25 chef 2020-03-01
以上是由通过python执行的以下命令生成的:
LOAD DATA LOCAL INFILE '/home/sample_data/data.txt' REPLACE INTO TABLE person_professions
FIELDS TERMINATED BY 0x01 OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'
(name,age,profession,datestamp)
创建数据.txt;但是,数据.txt对于一次插入所有数据库(设置约200 MB插入限制)来说真的很大,我想将数据切成几个块(data_1.txt,data_2.txt,data_3.txt等),并逐个插入它们以避免达到插入大小限制。我知道您可以逐行查找条件来切片数据,例如
with open('data.txt', 'w') as f:
data = f.read().split('\n')
if some condition:
with open('data_1.txt', 'w') as f2:
insert data
但我不太确定如何提出一个条件断点来使其开始插入到新的txt文件中,除非有更好的方法来做到这一点。
繁花不似锦
相关分类