项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用PHP并结合mysql,实现了CSV格式数据的导入和导出功能。

我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名、性别、年龄等信息。

我们还需要一个html交互页面,放置导入表单和导出按钮。

选择好本地csv文件后,点击导入,提交到do.php?action=import处理,而点击导出按钮则请求地址do.php?action=export进行数据导出处理。

1.导入CSV

do.php需要根据get过来的参数,分别处理导入和导出过程,php结构如下:

导入CSV处理流程:校验csv文件合法性(本文忽略)->打开读入并解析csv文件中的字段->循环获取各字段值->批量添加到数据表中->完成。

注意php自带的fgetcsv函数可以轻松处理csv,使用该函数可以从文件指针中读入一行并解析CSV字段。下面的函数将csv文件字段解析并以数组的形式返回。

此外在导入到数据库中时,我们采用的是批量插入而不是一条条插入的,因此在构建SQL语句时,要稍作处理,见代码。

2.导出CSV

我们知道csv文件是由逗号分割符组成的纯文本文件,你可以用excel打开,效果跟xls表个一样。

导出CSV处理流程:读取学生信息表->循环记录构建逗号分隔的字段信息->设置header信息->导出文件(下载)到本地

要将数据导出到本地即下在,需要修改header信息,代码如下:

注意导入和导出的过程中,因为我们使用的是统一UTF-8编码,遇到中文字符一定要记得转码,否则可能会出现中文乱码的情况。

以上就是本文的全部内容,希望本文所述对大家的php程序设计有所帮助。

php导入csv文件,php实现CSV文件导入和导出相关推荐

  1. R语言一次性读入多个csv文件实战:一次导入多个csv形成一个统一的dataframe、原生R方法、readr包、data.table

    R语言一次性读入多个csv文件实战:一次导入多个csv形成一个统一的dataframe.原生R方法.readr包.data.table 目录

  2. python导入csv文件-Python从CSV文件导入数据和生成简单图表

    原标题:Python从CSV文件导入数据和生成简单图表 我们已经完成Python的基础环境搭建工作,现在我们尝试导入CSV数据 我们准备一个csv测试数据,文件名是csv-test-data.csv数 ...

  3. python导入csv文件-python读写csv文件

    今天闲来无事,写了会CSV,简单总结下csv具体操作 什么是csv 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本 ...

  4. php mysql导出csv文件_详解PHP导入导出CSV文件

    我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名.性别.年龄等信息. CREATE TABLE `student` ( ...

  5. python操作sqlite3 导入csv文件_[转载]SQLite 3导入导出成txt或csv操作

    平时使用官方提供的sqlite3.exe工具来操作 sqlite的数据库,可以在网上下到. 进入管理: sqlite3.exe d:\\test.db //假设数据是 d:\\test.db > ...

  6. python 导入csv文件到oracle_python将文件夹下的所有csv文件存入mysql和oracle数据库

    #oracle版 首先新建python脚本(d:/python/orclImport.py) import os #引入os包 if __name__ == '__main__': #遍历文件夹下所有 ...

  7. 有字符csv文件导入matlab_Matlab:如何读取CSV文件以及如何读取带有字符串数据项的CSV文件...

    CSV,逗号分开的文件,如果能快速的读取这些文件中的数据,无疑会帮助我们解决很多问题. 1. 只有数据的CSV文件,CSV file that includes only numbers. As an ...

  8. python读取dat文件写入表格_Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)...

    一.文本文件读取 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件. csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数 ...

  9. 关于python使用pandas导入dat数据文件的方法(可导入任意dat数据文件和csv数据文件)

    我相信大家在学习python中会遇到一些很苦恼的数据导入问题,csdn上面的数据导入五花八门,大多是在特定条件实行的数据导入,我在学习机器学习分类算法实现中发现csdn上面有很多dat数据文件,所以想 ...

最新文章

  1. Bossie Awards 2013:最佳开源数据中心和云软件
  2. python3 requests模块
  3. 3.cocos2dx它Menu,由menu为了实现场景切换
  4. Flutter下拉刷新,上拉加载更多数据
  5. ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别
  6. RabbitMQ消息确认以及return机制
  7. 【嵌入式Linux】嵌入式Linux应用开发基础知识之串口应用编程
  8. python 日志模块 日志格式
  9. JQuery安装与下载教程
  10. postgis/postsql 导入dem栅格数据到数据库
  11. DS18B20温度传感器
  12. 学生专用计算机abs什么意思,出现abs标志什么意思
  13. 《灵飞经》②东岛门人 第二章 知音可赏
  14. Java Service Wrapper将java程序设置为服务
  15. Java后端落地项目记录
  16. HTML之FrameSet,Frame和Iframe区别
  17. 软件外包市场发展现状分析
  18. 苹果邮箱 android设置字体,MacOS如何修改邮件字体大小?MacOS修改邮件字体大小的方法...
  19. 好看又好用的彩色口罩,舒适佩戴安全可靠
  20. 创建Java类并实例化

热门文章

  1. 采用无线网桥做监控有什么优势?无线网桥的组网模式有哪些?
  2. 电话光端机应用范围解析!电话光端机主要应用在哪些领域?
  3. 工业交换机如何预防雷电?
  4. [渝粤教育] 西南政法大学 法理学 参考 资料
  5. 【渝粤题库】国家开放大学2021春2517社区工作题目
  6. 物联网技术系列之3分钟了解无线MESH网络
  7. 探探自动配对PHP_CentOS7 - 安装Apache HTTP Server和PHP
  8. jq设置html的fontsize,Jquery 设置字体大小(font-size)与行高(line-height)
  9. 一个直角三角形的两个直角边是 a,b(a≤b),其斜边是 c,且 a,b,c都是正整数。现在我们已经知道了斜边长度c,请问这个直角三角形的两个直角边的长度是什么?Java
  10. Java面向对象(11)--多态性