准备好mysql

  1. 安装
    brew install mysql
  1. 进入数据库 mysql -uroot -pmima
  1. 创建数据库 create database db_name
  1. 创建表
    这里我直接使用 Sequel Pro 用这个连接上数据库并且创建。
    注意

由于 QQ 群里面有很多表情符号,所以

  1. 数据库编码必须为 utf8mb4 这个编码支持表情符号
  2. 由于 每个 CSV 的第一行全是中文,所以 QQ 群号的第一行也是中文。那么用int 就会报错。有两个处理办法。
  3. 全部用 varchar , 导入后再把群号这一列的 中文 删除,然后再改成int。 这里我选择了这个方法,因为数据量较少,另外第二条的方法找了一下没有找到。
  4. 删除 CSV 第一行的中文,再导入到 数据库内。

CSV 示例

  1. 群名称,群号,群人数,群上限,群主,地域,分类,标签,群简介
  2. 北京社会管理职业学院,214931458,647,1000,594310098,河北省 廊坊市,学习.考试 | 其他,,进群改名字□级别-系别-名字,北京社会管理职业学院期待你们的加入,因你们而精彩、
  3. 北京社会管理职业学院,423832248,479,500,2056310913,北京市,品牌.产品,菁菁校园 | 校官方群,北京社会管理职业学院校友群!轻松聊天,同校交友,外校勿进!广告勿进!
  4. 北京社会管理职业学院,534258366,332,500,1352005503,北京市,同事.朋友 | 同学,,
  5. 北京社会管理职业学院,201059474,488,500,694543240,河北省 廊坊市,学习.考试 | 高考,北京社会管理职业 | 北京 | 社会 | 管理 | 职业学院 | 高考 | 单招,群里会及时更新全国各地单招的招生简章,请新生们注意观看群公告进群的新生需将名字格
  6. 北京社会管理职业学院,466783390,481,500,649176126,河北省 廊坊市,品牌.产品,,北京社会管理职业学院
  7. 北京社会管理职业学院,495091722,87,200,1115641719,北京市,同事.朋友 | 同学,,
  8. 北京社会管理职业学院,36081817,305,1000,919157,北京市,同事.朋友 | 同学,,在这里大家都是领导``北京社会管理职业学院
  9. 北京社会管理职院新生,543961025,44,200,2672625326,河南省 洛阳市,兴趣爱好 | 运动,北京社会管理职院 | 大学生 | 新生,欢迎 北京社会管理职业学院 的同学们进入本群的这个集体大家庭,为使大家有个绿色
  10. 北京社会管理职业学院,251582755,136,500,820634081,河北省 廊坊市,同事.朋友 | 同学,母校 | 校友 | 北社管,母校留给我们的东西不多,也就仅此而已/爱你(进群标注原因)
  11. 北京社会管理职业学院,630339095,2,500,392619439,河北省 廊坊市,行业交流,,北京社会管理职业学院部落群、校友交流群。
  12. 北京社会管理职业学院,667445540,1,500,2740824228,,同事.朋友 | 同学,北京 | 北京社会管理职院 | 新生群 | 校友群 | 总群 | 交流经验,北京社会管理职业学院校群,本群有问必答,校友群欢迎你的加入。加入本群的同学们,请
  13. 北京社会管理职业学院,211519581,3,200,1285880836,山东省 青岛市,学习.考试 | 高考,高考 | 招生 | 养老,北京社会管理职业学院春季招生开始
  14. 北京社会管理职业学院,111634393,6,500,95352187,北京市,同事.朋友 | 亲友,兄弟连,欢迎校友加入,新生老生均可加入,欲找群管理员,有意的可以给在线管理员留言
  15. 北京社会管理职业学院,67576478,5,500,659607952,北京市,兴趣爱好 | 影视,,
  16. 北京社会管理职业学院,107370265,4,200,1208066874,,,,
  17. 北京社会管理职业学院,346101963,2,200,1876419682,江西省 九江市,学习.考试 | 考研,,
  18. 北京社会管理职业学院,275824512,2,200,870958435,,同事.朋友 | 同学,,
  19. 北京社会管理职业学院,345526573,1,200,1374068234,北京市,学习.考试 | 其他,,
  20. 北京社会管理职业学院,67972683,1,200,2401803993,北京市,同事.朋友 | 同学,交友 | 校友 | 广告勿进,小女子顺带征个婚http://51230.com/u/23509841.html非诚勿扰,谢谢!

完整代码

  1. #coding=utf-8
  2. import MySQLdb
  3. import csv
  4. import os
  5. import codecs
  6. def Read_CSV(): # 批量读取当前文件夹的 CSV 文件
  7. guojia = [x for x in os.listdir(".") if os.path.isfile(x) and os.path.splitext(x)[1]=='.csv']
  8. for csvname in guojia:
  9. filename = os.path.join(os.getcwd(), csvname)
  10. with open(csvname, 'r', encoding='utf-8') as f:
  11. reader = csv.reader(f)
  12. for item in reader:
  13. i = tuple(item)
  14. print(i)
  15. save_to_mysql(i)
  16. def save_to_mysql(i): #链接数据库 QQ_QUN 并且用 UTF8MB4
  17. conn= MySQLdb.connect(
  18. host='localhost',
  19. port = 3306,
  20. user='root',
  21. passwd='nihao52cons',
  22. db ='QQ_QUN',
  23. charset= 'utf8mb4'
  24. )
  25. cur = conn.cursor()
  26. # cur.execute("insert into student values('群名称', '群号', '群人数', '群上限', '群主', '地域', '分类', '标签', '群简介')")
  27. sqli = "insert into 职业 values(%s,%s,%s,%s,%s,%s,%s,%s,%s)"
  28. cur.executemany(sqli,[i])
  29. #以下3个为例行操作。关闭。
  30. cur.close()
  31. conn.commit()
  32. conn.close()
  33. def main():
  34. Read_CSV()
  35. if __name__ == '__main__':
  36. main()