import csv
import json
from io import StringIO
import pymysql
from pymysql . cursors import DictCursor
s = """
影厅别名 , 影厅id , 影片别名 , 本地影片id , 语言 , 放映日期 , 开始时间 , 结束时间 , 片长 , 场间
2 楼 百花厅 ( 部分按摩椅 ) , 1 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 13 : 00 , 14 : 46 , 106 , 0
2 楼 百花厅 ( 部分按摩椅 ) , 1 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 15 : 00 , 16 : 46 , 106 , 14
2 楼 百花厅 ( 部分按摩椅 ) , 1 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 17 : 00 , 18 : 46 , 106 , 14
2 楼 百花厅 ( 部分按摩椅 ) , 1 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 19 : 00 , 20 : 46 , 106 , 14
2 楼 百花厅 ( 部分按摩椅 ) , 1 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 21 : 00 , 22 : 46 , 106 , 14
2 楼1号厅 ( 部分按摩椅 ) , 2 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 11 : 00 , 12 : 46 , 106 , 0
2 楼1号厅 ( 部分按摩椅 ) , 2 , 八仙 ! , 4296 , 国语 , 2026 - 07 - 14 , 13 : 00 , 15 : 24 , 144 , 14
2 楼1号厅 ( 部分按摩椅 ) , 2 , 三国第一部 : 争洛阳 , 4281 , 国语 , 2026 - 07 - 14 , 15 : 40 , 17 : 57 , 137 , 16
2 楼1号厅 ( 部分按摩椅 ) , 2 , 三国第一部 : 争洛阳 , 4281 , 国语 , 2026 - 07 - 14 , 18 : 10 , 20 : 27 , 137 , 13
2 楼1号厅 ( 部分按摩椅 ) , 2 , 八仙 ! , 4296 , 国语 , 2026 - 07 - 14 , 20 : 40 , 23 : 04 , 144 , 13
2 楼2号速度与激情厅 ( 部分按摩椅 ) , 3 , 四渡 , 4275 , 国语 , 2026 - 07 - 14 , 10 : 20 , 12 : 22 , 122 , 0
2 楼2号速度与激情厅 ( 部分按摩椅 ) , 3 , 四渡 , 4275 , 国语 , 2026 - 07 - 14 , 12 : 35 , 14 : 37 , 122 , 13
2 楼2号速度与激情厅 ( 部分按摩椅 ) , 3 , 四渡 , 4275 , 国语 , 2026 - 07 - 14 , 14 : 50 , 16 : 52 , 122 , 13
2 楼2号速度与激情厅 ( 部分按摩椅 ) , 3 , 四渡 , 4275 , 国语 , 2026 - 07 - 14 , 17 : 05 , 19 : 07 , 122 , 13
2 楼2号速度与激情厅 ( 部分按摩椅 ) , 3 , 四渡 , 4275 , 国语 , 2026 - 07 - 14 , 19 : 20 , 21 : 22 , 122 , 13
2 楼3号厅 ( 部分按摩椅 ) , 4 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 10 : 30 , 12 : 16 , 106 , 0
2 楼3号厅 ( 部分按摩椅 ) , 4 , 小黄人与大怪兽 ( 国语 ) , 4289 , 国语 , 2026 - 07 - 14 , 12 : 30 , 14 : 00 , 90 , 14
2 楼3号厅 ( 部分按摩椅 ) , 4 , 小黄人与大怪兽 ( 国语 ) , 4289 , 国语 , 2026 - 07 - 14 , 14 : 15 , 15 : 45 , 90 , 15
2 楼3号厅 ( 部分按摩椅 ) , 4 , 后室 , 4279 , 原版 , 2026 - 07 - 14 , 16 : 00 , 17 : 51 , 111 , 15
2 楼3号厅 ( 部分按摩椅 ) , 4 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 18 : 05 , 19 : 51 , 106 , 14
2 楼3号厅 ( 部分按摩椅 ) , 4 , 八仙 ! , 4296 , 国语 , 2026 - 07 - 14 , 20 : 05 , 22 : 29 , 144 , 14
2 楼4号优选福励厅 , 5 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 11 : 30 , 13 : 16 , 106 , 0
2 楼4号优选福励厅 , 5 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 13 : 30 , 15 : 16 , 106 , 14
2 楼4号优选福励厅 , 5 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 15 : 30 , 17 : 16 , 106 , 14
2 楼4号优选福励厅 , 5 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 17 : 30 , 19 : 16 , 106 , 14
2 楼4号优选福励厅 , 5 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 19 : 30 , 21 : 16 , 106 , 14
2 楼4号优选福励厅 , 5 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 21 : 30 , 23 : 16 , 106 , 14
3 楼5号厅 ( 部分按摩椅 ) , 6 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 11 : 05 , 12 : 51 , 106 , 0
3 楼5号厅 ( 部分按摩椅 ) , 6 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 13 : 05 , 14 : 51 , 106 , 14
3 楼5号厅 ( 部分按摩椅 ) , 6 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 15 : 05 , 16 : 51 , 106 , 14
3 楼5号厅 ( 部分按摩椅 ) , 6 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 17 : 05 , 18 : 51 , 106 , 14
3 楼5号厅 ( 部分按摩椅 ) , 6 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 19 : 05 , 20 : 51 , 106 , 14
3 楼5号厅 ( 部分按摩椅 ) , 6 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 21 : 05 , 22 : 51 , 106 , 14
3 楼6号泰隆银行厅 ( 部分按摩椅 ) , 7 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 12 : 00 , 13 : 46 , 106 , 0
3 楼6号泰隆银行厅 ( 部分按摩椅 ) , 7 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 14 : 00 , 15 : 46 , 106 , 14
3 楼6号泰隆银行厅 ( 部分按摩椅 ) , 7 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 16 : 00 , 17 : 46 , 106 , 14
3 楼6号泰隆银行厅 ( 部分按摩椅 ) , 7 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 18 : 00 , 19 : 46 , 106 , 14
3 楼6号泰隆银行厅 ( 部分按摩椅 ) , 7 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 20 : 00 , 21 : 46 , 106 , 14
3 楼7号厅 , 8 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 12 : 40 , 14 : 26 , 106 , 0
3 楼7号厅 , 8 , 八仙 ! , 4296 , 国语 , 2026 - 07 - 14 , 14 : 40 , 17 : 04 , 144 , 14
3 楼7号厅 , 8 , 小黄人与大怪兽 ( 国语 ) , 4289 , 国语 , 2026 - 07 - 14 , 17 : 15 , 18 : 45 , 90 , 11
3 楼7号厅 , 8 , 三国第一部 : 争洛阳 , 4281 , 国语 , 2026 - 07 - 14 , 19 : 00 , 21 : 17 , 137 , 15
3 楼7号厅 , 8 , 后室 , 4279 , 原版 , 2026 - 07 - 14 , 21 : 30 , 23 : 21 , 111 , 13
2 楼 三江VIP厅 , 9 , 功夫女足 , 4292 , 国语 , 2026 - 07 - 14 , 14 : 05 , 15 : 51 , 106 , 0
2 楼 三江VIP厅 , 9 , 那山那水 , 4264 , 国语 , 2026 - 07 - 14 , 16 : 05 , 17 : 31 , 86 , 14
2 楼 三江VIP厅 , 9 , 八仙 ! , 4296 , 国语 , 2026 - 07 - 14 , 17 : 45 , 20 : 09 , 144 , 14
2 楼 三江VIP厅 , 9 , 特立独行 , 4280 , 国语 , 2026 - 07 - 14 , 20 : 20 , 22 : 23 , 123 , 11
"""
json_str = """ [
{ " hall_name " : " IMAX厅(儿童需购票) " , " hall_id " : " 1 " , " movie_alias " : " 小黄人与大怪兽(IMAX 2D/原声) " , " movie_id " : " 3736 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 09:00 " , " end " : " 10:30 " , " length " : " 90 " , " duration " : " 0 " } ,
{ " hall_name " : " IMAX厅(儿童需购票) " , " hall_id " : " 1 " , " movie_alias " : " 八仙!(IMAX 2D/国语) " , " movie_id " : " 3756 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 10:40 " , " end " : " 13:04 " , " length " : " 144 " , " duration " : " 10 " } ,
{ " hall_name " : " IMAX厅(儿童需购票) " , " hall_id " : " 1 " , " movie_alias " : " 抓特务(IMAX 2D/国语) " , " movie_id " : " 3754 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 14:00 " , " end " : " 16:21 " , " length " : " 141 " , " duration " : " 56 " } ,
{ " hall_name " : " IMAX厅(儿童需购票) " , " hall_id " : " 1 " , " movie_alias " : " 八仙!(IMAX 2D/国语) " , " movie_id " : " 3756 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 17:00 " , " end " : " 19:24 " , " length " : " 144 " , " duration " : " 39 " } ,
{ " hall_name " : " IMAX厅(儿童需购票) " , " hall_id " : " 1 " , " movie_alias " : " 八仙!(IMAX 2D/国语) " , " movie_id " : " 3756 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 19:45 " , " end " : " 22:09 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " IMAX厅(儿童需购票) " , " hall_id " : " 1 " , " movie_alias " : " 八仙!(IMAX 2D/国语) " , " movie_id " : " 3756 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 22:30 " , " end " : " 00:54 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " 4号厅 " , " hall_id " : " 4 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 10:30 " , " end " : " 12:54 " , " length " : " 144 " , " duration " : " 0 " } ,
{ " hall_name " : " 4号厅 " , " hall_id " : " 4 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 13:15 " , " end " : " 15:39 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " 4号厅 " , " hall_id " : " 4 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 16:00 " , " end " : " 18:24 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " 4号厅 " , " hall_id " : " 4 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 18:45 " , " end " : " 21:09 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " 4号厅 " , " hall_id " : " 4 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 21:30 " , " end " : " 23:54 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " 5号厅 " , " hall_id " : " 5 " , " movie_alias " : " 四渡(2D/国语) " , " movie_id " : " 3717 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 10:00 " , " end " : " 12:02 " , " length " : " 122 " , " duration " : " 0 " } ,
{ " hall_name " : " 5号厅 " , " hall_id " : " 5 " , " movie_alias " : " 想你了(2D/国语) " , " movie_id " : " 3755 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 12:20 " , " end " : " 14:07 " , " length " : " 107 " , " duration " : " 18 " } ,
{ " hall_name " : " 5号厅 " , " hall_id " : " 5 " , " movie_alias " : " 想你了(2D/国语) " , " movie_id " : " 3755 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 14:25 " , " end " : " 16:12 " , " length " : " 107 " , " duration " : " 18 " } ,
{ " hall_name " : " 5号厅 " , " hall_id " : " 5 " , " movie_alias " : " 想你了(2D/国语) " , " movie_id " : " 3755 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 16:30 " , " end " : " 18:17 " , " length " : " 107 " , " duration " : " 18 " } ,
{ " hall_name " : " 5号厅 " , " hall_id " : " 5 " , " movie_alias " : " 想你了(2D/国语) " , " movie_id " : " 3755 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 18:35 " , " end " : " 20:22 " , " length " : " 107 " , " duration " : " 18 " } ,
{ " hall_name " : " 5号厅 " , " hall_id " : " 5 " , " movie_alias " : " 哈姆雷特(2D/原声) " , " movie_id " : " 3757 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 20:40 " , " end " : " 23:35 " , " length " : " 175 " , " duration " : " 18 " } ,
{ " hall_name " : " 6号厅(有无障碍服务) " , " hall_id " : " 6 " , " movie_alias " : " 恐怖游轮(2D/原声) " , " movie_id " : " 3751 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 09:20 " , " end " : " 10:59 " , " length " : " 99 " , " duration " : " 0 " } ,
{ " hall_name " : " 6号厅(有无障碍服务) " , " hall_id " : " 6 " , " movie_alias " : " 恐怖游轮(2D/原声) " , " movie_id " : " 3751 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 11:20 " , " end " : " 12:59 " , " length " : " 99 " , " duration " : " 21 " } ,
{ " hall_name " : " 6号厅(有无障碍服务) " , " hall_id " : " 6 " , " movie_alias " : " 恐怖游轮(2D/原声) " , " movie_id " : " 3751 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 13:20 " , " end " : " 14:59 " , " length " : " 99 " , " duration " : " 21 " } ,
{ " hall_name " : " 6号厅(有无障碍服务) " , " hall_id " : " 6 " , " movie_alias " : " 恐怖游轮(2D/原声) " , " movie_id " : " 3751 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 15:20 " , " end " : " 16:59 " , " length " : " 99 " , " duration " : " 21 " } ,
{ " hall_name " : " 6号厅(有无障碍服务) " , " hall_id " : " 6 " , " movie_alias " : " 恐怖游轮(2D/原声) " , " movie_id " : " 3751 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 17:20 " , " end " : " 18:59 " , " length " : " 99 " , " duration " : " 21 " } ,
{ " hall_name " : " 6号厅(有无障碍服务) " , " hall_id " : " 6 " , " movie_alias " : " 恐怖游轮(2D/原声) " , " movie_id " : " 3751 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 19:17 " , " end " : " 20:56 " , " length " : " 99 " , " duration " : " 18 " } ,
{ " hall_name " : " 6号厅(有无障碍服务) " , " hall_id " : " 6 " , " movie_alias " : " 恐怖游轮(2D/原声) " , " movie_id " : " 3751 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 21:15 " , " end " : " 22:54 " , " length " : " 99 " , " duration " : " 19 " } ,
{ " hall_name " : " 6号厅(有无障碍服务) " , " hall_id " : " 6 " , " movie_alias " : " 恐怖游轮(2D/原声) " , " movie_id " : " 3751 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 23:15 " , " end " : " 00:54 " , " length " : " 99 " , " duration " : " 21 " } ,
{ " hall_name " : " RealD Cinema 厅(儿童需购票)有无障碍服务 " , " hall_id " : " 7 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 09:45 " , " end " : " 12:09 " , " length " : " 144 " , " duration " : " 0 " } ,
{ " hall_name " : " RealD Cinema 厅(儿童需购票)有无障碍服务 " , " hall_id " : " 7 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 12:30 " , " end " : " 14:54 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " RealD Cinema 厅(儿童需购票)有无障碍服务 " , " hall_id " : " 7 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 15:15 " , " end " : " 17:39 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " RealD Cinema 厅(儿童需购票)有无障碍服务 " , " hall_id " : " 7 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 18:00 " , " end " : " 20:24 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " RealD Cinema 厅(儿童需购票)有无障碍服务 " , " hall_id " : " 7 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 20:45 " , " end " : " 23:09 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " RealD Cinema 厅(儿童需购票)有无障碍服务 " , " hall_id " : " 7 " , " movie_alias " : " 八仙!(2D/国语) " , " movie_id " : " 3753 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 23:30 " , " end " : " 01:54 " , " length " : " 144 " , " duration " : " 21 " } ,
{ " hall_name " : " Onyx LED 厅(儿童需购票) " , " hall_id " : " 8 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 09:55 " , " end " : " 11:41 " , " length " : " 106 " , " duration " : " 0 " } ,
{ " hall_name " : " Onyx LED 厅(儿童需购票) " , " hall_id " : " 8 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 12:00 " , " end " : " 13:46 " , " length " : " 106 " , " duration " : " 19 " } ,
{ " hall_name " : " Onyx LED 厅(儿童需购票) " , " hall_id " : " 8 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 14:05 " , " end " : " 15:51 " , " length " : " 106 " , " duration " : " 19 " } ,
{ " hall_name " : " Onyx LED 厅(儿童需购票) " , " hall_id " : " 8 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 16:10 " , " end " : " 17:56 " , " length " : " 106 " , " duration " : " 19 " } ,
{ " hall_name " : " Onyx LED 厅(儿童需购票) " , " hall_id " : " 8 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 18:15 " , " end " : " 20:01 " , " length " : " 106 " , " duration " : " 19 " } ,
{ " hall_name " : " Onyx LED 厅(儿童需购票) " , " hall_id " : " 8 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 20:20 " , " end " : " 22:06 " , " length " : " 106 " , " duration " : " 19 " } ,
{ " hall_name " : " Onyx LED 厅(儿童需购票) " , " hall_id " : " 8 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 22:25 " , " end " : " 00:11 " , " length " : " 106 " , " duration " : " 19 " } ,
{ " hall_name " : " 9号厅 " , " hall_id " : " 9 " , " movie_alias " : " 三国第一部:争洛阳(2D/国语) " , " movie_id " : " 3738 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 09:45 " , " end " : " 12:02 " , " length " : " 137 " , " duration " : " 0 " } ,
{ " hall_name " : " 9号厅 " , " hall_id " : " 9 " , " movie_alias " : " 三国第一部:争洛阳(2D/国语) " , " movie_id " : " 3738 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 12:20 " , " end " : " 14:37 " , " length " : " 137 " , " duration " : " 18 " } ,
{ " hall_name " : " 9号厅 " , " hall_id " : " 9 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 15:00 " , " end " : " 16:46 " , " length " : " 106 " , " duration " : " 23 " } ,
{ " hall_name " : " 9号厅 " , " hall_id " : " 9 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 17:05 " , " end " : " 18:51 " , " length " : " 106 " , " duration " : " 19 " } ,
{ " hall_name " : " 9号厅 " , " hall_id " : " 9 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 19:10 " , " end " : " 20:56 " , " length " : " 106 " , " duration " : " 19 " } ,
{ " hall_name " : " 9号厅 " , " hall_id " : " 9 " , " movie_alias " : " 三国第一部:争洛阳(2D/国语) " , " movie_id " : " 3738 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 21:15 " , " end " : " 23:32 " , " length " : " 137 " , " duration " : " 19 " } ,
{ " hall_name " : " 9号厅 " , " hall_id " : " 9 " , " movie_alias " : " 三国第一部:争洛阳(2D/国语) " , " movie_id " : " 3738 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 23:50 " , " end " : " 02:07 " , " length " : " 137 " , " duration " : " 18 " } ,
{ " hall_name " : " 4DX 厅(儿童需购票) " , " hall_id " : " 10 " , " movie_alias " : " 玩具总动员5(4DX3D/原声) " , " movie_id " : " 3722 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 09:00 " , " end " : " 10:42 " , " length " : " 102 " , " duration " : " 0 " } ,
{ " hall_name " : " 4DX 厅(儿童需购票) " , " hall_id " : " 10 " , " movie_alias " : " 玩具总动员5(4DX3D/原声) " , " movie_id " : " 3722 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 11:00 " , " end " : " 12:42 " , " length " : " 102 " , " duration " : " 18 " } ,
{ " hall_name " : " 4DX 厅(儿童需购票) " , " hall_id " : " 10 " , " movie_alias " : " 功夫女足(2D/国语) " , " movie_id " : " 3743 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 14:00 " , " end " : " 15:46 " , " length " : " 106 " , " duration " : " 78 " } ,
{ " hall_name " : " 4DX 厅(儿童需购票) " , " hall_id " : " 10 " , " movie_alias " : " 特立独行(2D/国语) " , " movie_id " : " 3742 " , " language " : " 国语 " , " show_date " : " 2026-07-18 " , " start " : " 16:05 " , " end " : " 18:08 " , " length " : " 123 " , " duration " : " 19 " } ,
{ " hall_name " : " 4DX 厅(儿童需购票) " , " hall_id " : " 10 " , " movie_alias " : " 后室(4DX2D/原声) " , " movie_id " : " 3730 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 18:25 " , " end " : " 20:16 " , " length " : " 111 " , " duration " : " 17 " } ,
{ " hall_name " : " 4DX 厅(儿童需购票) " , " hall_id " : " 10 " , " movie_alias " : " 后室(4DX2D/原声) " , " movie_id " : " 3730 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 20:35 " , " end " : " 22:26 " , " length " : " 111 " , " duration " : " 19 " } ,
{ " hall_name " : " 4DX 厅(儿童需购票) " , " hall_id " : " 10 " , " movie_alias " : " 后室(4DX2D/原声) " , " movie_id " : " 3730 " , " language " : " 原声 " , " show_date " : " 2026-07-18 " , " start " : " 22:45 " , " end " : " 00:36 " , " length " : " 111 " , " duration " : " 19 " }
] """
# 将csv转化成字典
def csv_to_obj ( csv_data ) :
f = StringIO ( csv_data )
print ( csv_data , f )
reader = csv . DictReader ( f )
return list ( reader )
def get_real_data ( cinema_code : str , show_date : str ) :
db_config = {
' host ' : ' 172.16.1.63 ' ,
' port ' : 3306 ,
' user ' : ' root ' ,
' password ' : ' Cine123456 ' ,
' database ' : ' dingxin_toolbox ' ,
}
db_conn = pymysql . connect ( * * db_config )
db_cursor = db_conn . cursor ( cursor = DictCursor )
db_cursor . execute (
" SELECT * FROM dingxin_toolbox.ai_show_result WHERE zz_code= %s AND show_date= %s AND is_ai_show= %s " ,
( cinema_code , show_date , 0 ) )
real_data = db_cursor . fetchone ( )
return real_data [ ' show ' ]
def count_data ( data ) :
count = len ( data ) - 1
movie_dict = { }
for movie in data [ 1 : ] :
movie_name = movie [ None ] [ 2 ]
if movie_name in movie_dict . keys ( ) :
movie_dict [ movie_name ] + = 1
else :
movie_dict [ movie_name ] = 1
movie_dict = dict ( sorted ( movie_dict . items ( ) , key = lambda item : item [ 1 ] , reverse = True ) )
print ( f " 共 { count } 场 " )
for key , value in movie_dict . items ( ) :
print ( f " 《 { key } 》: { value } 场 占比 { round ( value / count * 100 , 2 ) } % " )
def _get_hall_count ( show : list ) - > dict :
hall_show_count = dict ( )
for show in show [ 1 : ] :
hall = show [ None ] [ 1 ]
if hall in hall_show_count . keys ( ) :
hall_show_count [ show [ None ] [ 1 ] ] + = 1
else :
hall_show_count [ show [ None ] [ 1 ] ] = 1
return hall_show_count
def get_hall_show_count ( ai : list , real : list ) - > dict :
ai_hall_show_count = _get_hall_count ( ai )
real_hall_show_count = _get_hall_count ( real )
more = ai_hall_show_count if len ( ai_hall_show_count ) > = len ( real_hall_show_count ) else real_hall_show_count
hall_show_count = dict ( )
for key in more . keys ( ) :
hall_show_count [ key ] = ai_hall_show_count [ key ] if ai_hall_show_count . get ( key , 0 ) > = real_hall_show_count . get (
key , 0 ) else real_hall_show_count [ key ]
return hall_show_count
def show_data ( zz_code : str , show_date : str ) :
real_obj = csv_to_obj ( get_real_data ( zz_code , show_date ) )
ai_obj = csv_to_obj ( s )
print ( ' ai_obj ' , ai_obj )
print ( ' real_obj ' , real_obj )
hall_show_count = get_hall_show_count ( ai_obj , real_obj )
print ( hall_show_count )
def parse_json ( json_data : str ) :
data = json . loads ( json_data )
movie = dict ( )
total = 0
for d in data :
total + = 1
if d [ ' movie_alias ' ] not in movie . keys ( ) :
movie [ d [ ' movie_alias ' ] ] = 1
else :
movie [ d [ ' movie_alias ' ] ] + = 1
print ( total )
for key , value in movie . items ( ) :
print ( key , round ( value / total * 100 , 2 ) )
if __name__ == ' __main__ ' :
# count_data(csv_to_obj(s))
# show_data('33040301', '2026-07-13')
parse_json ( json_str )