将巨大的csv文件解析成mysql[python]

2024-04-26 10:12:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在将巨大的csv文件解析成mysql数据库时遇到了一些问题。在

Csv文件如下所示:

ref1  data1  data2  data3...
ref1  data4  data5  data6...
ref2  data1  data2  data3 data4 data5..
ref2  data12 data13 data14
ref2  data21 data22...
.
.
.

Csv文件有大约100万行或约7MB的zip文件或约150MB解压。在

我的工作是将csv中的数据解析成mysql,但是只有引用匹配时的数据/行。另一个问题是,从csv中的多行中,我必须在mysql中的一行中解析它,以供一个引用。在

我试着用csv.reader以及每个引用上的for循环,但速度非常慢。在

^{pr2}$

所以我有我想解析的所有引用,在我的列表用户中。哪种方法是最快的解析方法?在

请帮忙!在


Tags: 文件csv数据方法数据库mysqldata1data2
3条回答

第一个明显的瓶颈是重新打开并扫描数据库中每个用户的整个CSV文件。在csv上执行一次操作会更快:

^{1}$

你还没有把你所有的逻辑都包括进去。如果您只想将所有内容导入到一个表中

^{1}$

MySQL直接执行。你再快不过了。在

Documentation

使用:

^{1}$

这是mysql中的一个内部查询命令。在

我不建议您使用制表符分隔列,建议您将sed更改为;或其他字符。但你也可以试试标签。在

相关问题 更多 >