1.常规配置iaddressbook
2.输入了几条数据,发现数据库里SELECT命令显示出来的中文是???。
经过两条命令解决了问题。

mysql> USE iaddress;
mysql> SET character_set_database = 'utf8';
mysql> ALTER TABLE addressbook DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

[root@ChrisTest conf]# /etc/init.d/mysqld restart

3.既然iaddressbook不支持批量从csv文件导入通讯录,而我之前又是用excel管理的数据,那么我们就直接往DB里导入吧。
URL: ttps://blog.csdn.net/quiet_girl/article/details/71436108

4.先从MYSQL导出一个csv模板。
URL:ttps://blog.csdn.net/iefreer/article/details/7740950

mysql> SELECT * FROM addressbook INTO OUTFILE '/tmp/export.csv';
Query OK, 4 rows affected (0.00 sec)

sz /tmp/export.csv

5.新建一个excel文本-->Data-->From Text,导入时参考以下命令的输出结果,来判断字段的截取是否准确。

mysql> SELECT * FROM addressbook LIMIT 1\G

编码为UTF-8,分隔符为Tab(不要选中space,否则字段对应不上)。
然后微调一些csv里的细节。
把id这列auto_increment的列的数据手动删除。

6.将整理好的模板csv重新导回MYSQL做测试。导入前需要用记事本打开csv.然后另存为的时候修改编码为UTF-8。默认为ANSI,这样导入会出问题的。
mysql> LOAD DATA INFILE '/tmp/export_tempate_done_utf8.csv' INTO TABLE addressbook FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
Query OK, 4 rows affected, 92 warnings (0.00 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 88
但实际导入效果并不理想。大部分数据都没有导入进去,这很有可能和分隔符的定义又错误有关。
[root@ChrisTest tmp]# more /tmp/export_tempate_done_utf8.csv 实际阅览效果分隔符为逗号。
改为逗号后重试。
mysql> LOAD DATA INFILE '/tmp/export_tempate_done_utf8.csv' INTO TABLE addressbook FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
导入成功了,字段都对上了,但是导入的中文部分出现乱码。

原来在导入时需要指定编码格式才行。
mysql> LOAD DATA INFILE '/tmp/export_tempate_done_utf8.csv' INTO TABLE addressbook CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
这次正确了!(除了有些部分导入时变成了科学计数法,这个只要在导入到excel时舌顶一下单元格格式就行了)

明天可以开始规范化数据最后批量导入进去了!

7.将大量的通讯录内容复制粘贴到csv模板中.根据规则添加"WORK;"等字符。并进行细节的修改以最大程度保证导入的数据到正确的字段里。
保存后老样子,用记事本打开csv,取消“自动换行”,察看效果。
一切无误后,另存为编码格式为UTF8.

8.用rz把文件输入到server上。执行以下命令导入到数据表。

mysql> LOAD DATA INFILE '/tmp/Final_contact.csv' INTO TABLE addressbook CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
然而又没有数据.经过使用more来察看csv文件很快发现分隔符变成了tab,不再是逗号.那么把这里改成\t即可。
mysql> LOAD DATA INFILE '/tmp/Final_contact.csv' INTO TABLE addressbook CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
基本成功,但发现Email和address显示的地方有点奇怪。原来是因为没有按照需要的格式去书写。“WORK;;;上海市xx区xx西路xxx号xxss大厦s区x楼;;;;;”

分别添加后重新导入,这次是真的完全没问题了。大功告成!

今后就直接通过添加按钮来添加了。

以上已更新

转载于:https://blog.51cto.com/7350550/2394343

import csv into iaddressbook相关推荐

  1. Dynamics Ax 2012 – AIF Import CSV File

    Part 1: Consume Web service Part 2: Create Item from File adapter Part 3: Import CSV file using AIF ...

  2. SQLite Tutorial 5 : How to Import CSV or Excel file into SQLite database

    1.将csv文件导入到SQLite database a.选择 database->import b.选择数据类型 c.然后在Execute SQL里面执行 SELECT * FROM empl ...

  3. python统计csv行数_对Python 多线程统计所有csv文件的行数方法详解

    如下所示: #统计某文件夹下的所有csv文件的行数(多线程) import threading import csv import os class MyThreadLine(threading.Th ...

  4. python之CSV文件格式

    1.csv文件是以一些以逗号分隔的值 import csv filename = "wenjian.csv" with open(filename) as f:reader = c ...

  5. python创建图片对应的csv格式_Python:如何从csv文件创建图形节点和边?

    你可以用另一个COLATIC和COLATIC来建立一个COLATIC/COLATIC.然后将图"投影"到datetime节点上-如果两个datetime都链接到ColA/ColC节 ...

  6. Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享

    作者 | 一只河马h 来源 | 简说Python 一.前言 二.需求描述 三.开始动手动脑 3.1 安装相关第三方包 3.2 导入需要用到的第三方库 3.3 读取pdf文件,并识别内容 3.4 对识别 ...

  7. 利用python将数据写入CSV文件中

    简单实现,代码如下: import csv# 1.创建文件对象 f = open('csv_file.csv', 'w', encoding='utf-8')# 2.基于文件对象构建csv写入对象 c ...

  8. python将二维列表内容写入和读取.csv文件

    python将列表按行写入至.csv文件 # coding:utf-8 import csv list=[[1,2,3,4],[5,6,7,8],[89,55,66666,5],['张三','李四', ...

  9. python转csv_python脚本如何将Excel文件转为csv文件(代码)

    本篇文章给大家带来的内容是关于python脚本如何将Excel文件转为csv文件(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.#!/usr/bin/env python __ ...

最新文章

  1. python 报错 TypeError: ‘int‘ object is not subscriptable 解决方法
  2. day2:作业 购物车程序及升级版本
  3. c#转换成vbnet 工具 (源代码)
  4. Linux 字符设备驱动开发基础(三)—— read()、write() 相关函数解析
  5. beautifulsoup网页爬虫解析_Python爬虫神器:PyQuery,解析网页更简单,小白也能学会
  6. win10系统上Python和pycharm的安装及配置
  7. C++语言实现hello world代码
  8. android 点击通知栏打开activity,Android实现点击通知栏后,先启动应用再打开目标Activity...
  9. .sql文件如何执行_一条SQL查询语句是如何执行的?
  10. 2021年SWPUACM暑假集训day3最小生成树算法
  11. Linux CentOS上用iptables设置防火墙遇到的问题
  12. C#判断一个字符串是否全部为空格的一个简单方法
  13. Centos 安装Java JDK8
  14. C/C++ 大小端转换
  15. 计算机无法继续安装程序,电脑提示nvidia安装程序无法继续 如何解决 - 驱动管家...
  16. 华为云云原生之多云管理利器Karmada从0到1的实操【与云原生的故事】
  17. Html 电池图标
  18. 独家对话英伟达首席科学家:解码AI芯片战局
  19. 电信9530手机上面使用移动的SIM卡
  20. Java Web实现用户注册页面的提交

热门文章

  1. 机器学习经典算法详解及Python实现--元算法、AdaBoost
  2. Windows注册与删除mysql服务
  3. LaTeX 公式输入软件 KLatexFormula
  4. Lambda表达式【转】
  5. firefox是什么浏览器_我为什么不使用Firefox(火狐)浏览器
  6. 无法在指定计算机上定位,Win10电脑无法打开定位功能时启动GeolocationService服务提示找不到文件怎么办...
  7. Xamarin Essentials教程地理定位Geolocation
  8. Xamarin XAML语言教程使用Progress属性数据绑定设置进度条进度
  9. John the Ripper
  10. OUYA游戏开发快速入门教程第1章了解OUYA及其设备