将csv文件导入到mysql数据库

本文介绍如何将CSV文件导入MySQL数据库,包括设置正确的日期格式、调整字段分隔符以及使用LOAD DATA INFILE命令的具体方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

统一编码方式为utf-8,将csv文件编码方式设置为utf-8.

在数据库中新建一个表,列属性和csv文件要相符,注意将**月**日等在csv中设置为日期格式,而不是字符串之类的,这样可以将时间等导入。

设置方式为选中时间列,右键表格属性,设置为日期就好了。


  LOAD DATA INFILE "**.csv"
  INTO TABLE XX
  CHARACTER SET utf8
  FIELDS TERMINATED BY "," ;

load data使用格式如下:

LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [FIELDS
        [TERMINATED BY '\t']
        [OPTIONALLY] ENCLOSED BY '']
        [ESCAPED BY '\\' ]]
    [LINES TERMINATED BY '\n']
    [IGNORE number LINES]
    [(col_name,...)]

其中,

LOW_PRIORITY

如果用户指定此关键词,LOAD DATA 语句的执行将会被延迟,直到没有其它的客户端正在读取表。

LOCAL

如果指定了LOCAL 关键字,它将对连接的客户端做出解释:
• 如果指定了LOCAL,客户端主机上的客户端组件读取文件并发送到服务器。可以给出文件的完整路径以确定其精确位置。如果给出的是相对路径,则文件名是相对于客户端组件启动时所在的目录。
• 如果没有指定LOCAL,文件是位于服务器的主机上,并且直接被服务器读取。
当从服务器主机定位文件时,服务器使用下列规则:
• 如果给定完整的路径,服务器使用该路径名。
• 如果给定一个或多个前置构件的相对路径,服务器以相对服务器的数据目录搜索文件。
• 如果给定没有前置构件的文件名,服务器从当前数据库的数据库目录搜寻文件。

--CHARACTER SET :mysql字符集,所指出被用来解释文件中的信息

--INTO TABLE :导入到哪个表

--FIELDS TERMINATED BY :以什么作为分割符

--ENCLOSED BY :被什么包围 (输出时需要)

csv,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。里面的数据以,分割,所以 FIELDS TERMINATED BY ","


可以使用Python中的pandas库和MySQLdb库来实现将csv文件导入到MySQL数据库中的操作,具体步骤如下: 1. 安装pandas库和MySQLdb库: ```python !pip install pandas !pip install mysqlclient ``` 2. 导入需要的库: ```python import pandas as pd import MySQLdb ``` 3. 读取csv文件并将数据存储在DataFrame对象中: ```python data = pd.read_csv('your_csv_file.csv') ``` 4. 建立与MySQL数据库的连接: ```python conn = MySQLdb.connect(host='your_host', port=your_port, user='your_username', passwd='your_password', db='your_database') ``` 5. 将数据写入MySQL数据库: ```python data.to_sql(name='your_table_name', con=conn, if_exists='replace', index=False) ``` 以上代码中,name参数表示要写入的表名,con参数表示与数据库建立的连接对象,if_exists参数表示如果表已经存在则替换原有表,index参数表示不需要将DataFrame对象的索引写入数据库。 完整代码如下: ```python import pandas as pd import MySQLdb # 读取csv文件并将数据存储在DataFrame对象中 data = pd.read_csv('your_csv_file.csv') # 建立与MySQL数据库的连接 conn = MySQLdb.connect(host='your_host', port=your_port, user='your_username', passwd='your_password', db='your_database') # 将数据写入MySQL数据库 data.to_sql(name='your_table_name', con=conn, if_exists='replace', index=False) # 关闭连接 conn.close() ``` 注意:在执行以上代码之前,需要先在MySQL数据库中创建好对应的表,使其与csv文件中的列名一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值