假新闻识别应用
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.4 KiB

  1. #coding:utf8
  2. import json
  3. import pymysql
  4. import traceback
  5. import pandas as pd
  6. content_db = pymysql.connect(host='172.26.28.30', user='crawl', passwd='crawl123', db='test', port=3306,
  7. charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
  8. def to_mysql(sql,values):
  9. content_db.ping(reconnect=True)
  10. cursor = content_db.cursor()
  11. cursor.execute(sql,values)
  12. content_db.commit()
  13. cursor.close()
  14. def write_data_mysql():
  15. data=pd.read_excel('假新闻数据输入/test.xlsx',keep_default_na=False)
  16. try:
  17. for i in data.index:
  18. # line_key=list(data.loc[i].keys())
  19. line_value=data.loc[i].values
  20. # line_str=([str(x) for x in line_value])
  21. line_str=[]
  22. for index,x in enumerate(line_value):
  23. line_str.append(x)
  24. line_str=[0]+line_str
  25. sql = "insert into TwitterAccount "+"values ("+ ','.join(['%s'] * len(line_str)) + ")"
  26. # print(line_str)
  27. # print(sql)
  28. values=tuple(line_str)
  29. # to_mysql(sql,values)
  30. # content_db.ping(reconnect=True)
  31. cursor = content_db.cursor()
  32. cursor.execute(sql, values)
  33. content_db.commit()
  34. cursor.close()
  35. print('%s条数据写入mysql'%(i+1))
  36. except:
  37. print(traceback.format_exc())
  38. content_db.rollback()
  39. write_data_mysql()
  40. content_db.close()