我对运行代码后在命令窗口中得到的输出有点困惑。我对每一部分都复习了几遍,我不知道哪里出了问题。在

为什么字典计数打印,但其余打印语句没有显示?我还检查了SQLite文件中的表,表中没有我的数据,只有标题。在

我忽略了什么吗?不会出现错误,但它不会给出表中的输出或数据,即使使用insert、select和fetchone语句也是如此。在

提前感谢您的评论!在

以下是我一直在玩的东西:import xml.etree.ElementTree as ET

import sqlite3

conn = sqlite3.connect('trackdb.sqlite')

cur = conn.cursor()

cur.excutescript('''

DROP TABLE IF EXISTS Artist;

DROP TABLE IF EXISTS Album;

DROP TABLE IF EXISTS Track;

DROP TABLE IF EXISTS Genre;

CREATE TABLE Artist (

id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,

name TEXT UNIQUE

);

CREATE TABLE Genre (

id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,

name TEXT UNIQUE

);

CREATE TABLE Album (

id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,

artist_id INTEGER,

title TEXT UNIQUE

);

CREATE TABLE Track (

id INTEGER NOT NULL PRIMARY KEY

AUTOINCREMENT UNIQUE,

title TEXT UNIQUE,

album_id INTEGER,

genre_id INTEGER,

len INTEGER, rating INTEGER, count INTEGER

);

''')

fname = raw_input('Enter file name: ')

if ( len(fname) < 1 ) : fname = 'Library.xml'

# Track ID369

# NameAnother One Bites The Dust

# ArtistQueen

def lookup(d, key):

found = False

for child in d:

if found : return child.text

if child.tag == 'key' and child.text == key :

found = True

return None

stuff = ET.parse(fname)

all = stuff.findall('dict/dict/dict')

print 'Dict count:', len(all)

for entry in all:

if ( lookup(entry, 'Track ID') is None ) : continue

name = lookup(entry, 'Name')

artist = lookup(entry, 'Artist')

album = lookup(entry, 'Album')

count = lookup(entry, 'Play Count')

rating = lookup(entry, 'Rating')

length = lookup(entry, 'Total Time')

genre = lookup(entry, 'Genre')

if name is None or artist is None or album or genre is None : continue

print name, artist, album, genre, count, rating, length

cur.execute('''INSERT OR IGNORE INTO Artist (name)

VALUES ( ? )''', ( artist, ) )

cur.execute('SELECT id FROM Artist WHERE name = ? ', (artist, ))

artist_id = cur.fetchone()[0]

cur.execute('''INSERT OR IGNORE INTO Album (title, artist_id)

VALUES ( ?, ? )''', ( album, artist_id ) )

cur.execute('SELECT id FROM Album WHERE title = ? ', (album, ))

album_id = cur.fetchone()[0]

cur.execute('''INSERT OR IGNORE INTO Genre (name)

VALUES ( ? )''', ( genre, ) )

cur.execute('SELECT id FROM Genre WHERE name = ? ', (genre, ))

genre_id = cur.fetchone()[0]

cur.execute('''INSERT OR REPLACE INTO Track

(title, album_id, genre_id, len, rating, count)

VALUES ( ?, ?, ?, ?, ?, ? )''',

( name, album_id, genre_id, length, rating, count ) )

conn.commit()

我缺少一个SELECT语句吗?我试图应用一个JOIN语句来显示所需的表,其中包括曲目、流派、专辑和艺术家的名字,但我真的不知道如何合并它。当我尝试genre_id=当前取款()[0]如果有人能给我一些见解,我将不胜感激。在

以下是指向XML数据的链接:

它基本上在不同的键/值对的字典中显示轨迹信息的字典。在

再次感谢。在

python读取xml数据并显示为表格_用Python解析XML数据,然后用SQL创建一个数据库相关推荐

  1. python 读取txt文件、转为json文件_使用python操作json文本文件

    使用python读写文本文件内容时,我们知道如果文本文件里的内容无规律,那么修改起来比较麻烦.但是如果文本文件存储是有规律的,比如JSON格式,在利用python内置的函数把JSON格式的数据转成py ...

  2. 如何使用python读取excel表的某一列_使用python采集Excel表中某一格数据

    安装并导入模块 打开命令行窗口,输入: pip install -i https://mirrors.aliyun.com/pypi/simple/ openpyxl 导入: from openpyx ...

  3. python读取文件夹下所有图像 预处理_在python中读取预处理的cr2原始图像数据

    您可以使用rawkit来获取这些数据,但是,您将无法使用实际的rawkit模块(它为处理原始图像提供了更高级别的api).相反,您将希望主要使用libraw模块,该模块允许您访问底层LibRaw ap ...

  4. python读取word文档中的图片_【Python 3 获取Word所有图片】

    上次讲到如何手动快速提取Word文档中的所有图片.这次我们用Python-3基于图片提取原理,写代码实现自动获取. Python 3实现代码import os,zipfile,shutil #引入os ...

  5. python读取rtf文件中指定的内容_使用Python读取RTF文件时遇到欧元符号问题

    RTF标准使用UTF-16,但形状适合RTF命令序列格式.记录在http://en.wikipedia.org/wiki/Rich_Text_Format#Character_encoding.遗憾的 ...

  6. python读取txt文件并分割成列表_在python中读取文本文件并将其拆分为单个单词

    给定此文件:$ cat words.txt line1 word1 word2 line2 word3 word4 line3 word5 word6 如果一次只需要一个单词(忽略文件中空格和换行符的 ...

  7. python 显示表格数据_python显示excel表格数据-怎么用python读取excel表格的数据

    怎么用python读取excel表格的数据 #导入包 import xlrd #设置路径 path='C:\\Users\\jyjh\\Desktop\\datap.xlsx' #打开 data=xl ...

  8. python处理表格数据-python读取word 中指定位置的表格及表格数据

    1.Word文档如下: 2.代码 # -*- coding: UTF-8 -*- from docx import Document def readSpecTable(filename, specT ...

  9. java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...

    网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...

最新文章

  1. 复合的赋值运算符例题_Java千问:关于Java语言复合赋值运算符的两个问题,快来瞧瞧!...
  2. 特斯拉又被挖墙脚:Autopilot总监离职,加入苹果造车团队
  3. liunx 在虚拟机(VMware)下挂载光驱命令
  4. (五)操作系统安全概念和设计思想
  5. RACSignal的Subscription深入分析
  6. H3C 模拟器 pc与sw直连 登录web
  7. linux 权限rwx(4,2,1)详细说明
  8. java非法表达式开头,java - 我不断收到“ Battle.java:11:错误:表达式的非法开头” Heelp - SO中文参考 - www.soinside.com...
  9. 串口屏和并口屏的区别?
  10. 计算机二级vbf资源百度云,2018年计算机二级考试考前冲刺卷
  11. ESP32 入门笔记06: WIFI时钟 + FreeRTOS+《两只老虎》 (ESP32 for Arduino IDE)
  12. Android动画-Interpolator(插值器)大全
  13. 在阿里云中搭建大数据实验环境
  14. 如何培养青少年的阅读习惯?父母应该从三个方面培养青少年的好兴趣
  15. flutter CustomPainter 简单绘制 三角形 多边形
  16. mxgraph进阶(三)Web绘图—mxGraph项目实战
  17. 2021年华为云618年中钜惠,惊喜“惠”聚!
  18. NSGA2 Matlab toolbox
  19. SqlServer2005 AMD8450 三核CPU安装Sql Server 2000 SP4 补丁的办法
  20. android 8 荣耀9,华为荣耀8和华为荣耀9对比评测,华为荣耀真的很强

热门文章

  1. WebAPI接口安全校验
  2. 用Lean Pilots推动改进
  3. linux常见命令汇总
  4. UStore-自定义JDF文件格式输出
  5. 一句white-space:nowrap解决IE6,IE7下浮动元素不自动换行
  6. linux 根目录下的子目录的意义
  7. 三星GT-I9308 Galaxy SIII 移动定制机 root方法 (亲测可用)
  8. 使用 CommandBuilder 生成命令 (ADO.NET)
  9. Spring boot 梳理 - WebMvcConfigurer接口 使用案例
  10. 计算机/ARM 系统