错误我得到了:
此页面不起作用,没有发送任何数据。 err_empty_response
我正在使用PHP语言来读取CSV文件。
我的PHP方法看起来像是游行CSV数据:
$csvAsArray = array_map('str_getcsv', file($tmpName));
我敢肯定,上述代码创建问题后词该代码没有执行。我如何一次至少超过100万个数据?谁能帮助我,我应该选择哪种方法?
看来您正在尝试在一个湾中获取文件的整个内容。不要那样做:) php array_map()不能扩展到1000的...或数百万行。
建议:
-
将您的数据读取到临时文件中(您现在似乎正在做)。
-
做一个PostgreSQL复制
示例:
COPY my_table(my_columns, ...)
FROM 'my_file.csv' DELIMITER ',' CSV HEADER;
我建议使用联盟/CSV软件包进行CSV解析和导入。@paulsm4是正确的,它永远不需要将整个文件放入内存中,然后使用它,应该逐渐读取行。但是,此软件包维护良好,并且在引擎盖下完成了这一切,并且非常有效。在我看来,它比COPY
Postgres命令更灵活。一个人可以过滤内容,将回调映射到字段/行,所有这些都在PHP侧。