美文网首页Python
Python minidom读取xml/csv文件数据简单操作

Python minidom读取xml/csv文件数据简单操作

作者: 嘤嘤嘤999 | 来源:发表于2020-09-21 08:37 被阅读0次

    目录

    一、xml数据的读取

    1.1简单Demo

    1.2创建demo.xml文件

    1.3导入 from xml.dom import minidom来读取文件

    1.4运行结果:

    二、csv文件数据读取

    2.1可能会报异常,因为文件中有中文编码也不是utf-8python 报报错"UnicodeDecodeError: 'utf-8' codec can't decode byte"的解决办法

    2.1.1把csv后缀文件改为txt后缀文件

    2.1.2双击打开修改过后缀的txt文件,点击文件------另保存为

    2.1.3选择适合文件的编码格式,并保存替换原来的文件

    2.1.4把修改好的文件修改为csv后缀名,再运行项目


    一、xml数据的读取

    from xml.dom import minidomclass Readxml():    
    
    def read_xml(self,filename,onename,twoname):        
    root =minidom.parse(filename)        
    firstnode =root.getElementsByTagName(onename)[0]        secondnode=firstnode.getElementsByTagName(twoname)[0].firstChild.data        
    
    return secondnode  获取xml文件中的数据
    

    1.1简单Demo

    1.2创建demo.xml文件

    <?xml version="1.0" encoding="utf-8" ?>
    <note>    
    <AAA>        
            <BBB>66</BBB>        
            <BBB>77</BBB>        
            <BBB>88</BBB>    
    </AAA>    
    <AAA>        
            <BBB>99</BBB>        
            <BBB>88</BBB>        
            <BBB>66</BBB>    
    </AAA>
    </note>
    

    image

    1.3导入 from xml.dom import minidom来读取文件

    from xml.dom import minidom  class ReadXmlClass:    
    
    def read(self):        # 打开文件        
    root = minidom.parse("../XmlDemo/Demo")        
    firstnode = root.getElementsByTagName("AAA")[1]        
    secondnode = firstnode.getElementsByTagName("BBB")[2].firstChild.data        
    print(secondnode)  
    
    a = ReadXmlClass()
    a.read()
    

    image

    1.4运行结果:

    AAA[1]下的 BBB[2]的值:66

    [图片上传中...(image-14107a-1600300240823-5)]

    二、csv文件数据读取

    import csv  # 导入csv模块  
    
    class ReadCsvClass():    
    def read_csv(self):        
    item = []  # 定义一个空列表        
    c = csv.reader(open("../test1.csv", "r",encoding='utf-8'))  # 得到csv文件对象        
    for csv_i in c:            
    item.append(csv_i)  # 将获取的数据添加到列表中        
    return item  
    
    r = ReadCsvClass()
    print(r.read_csv())
    

    运行结果:

    image

    2.1可能会报异常,因为文件中有中文编码也不是utf-8**python 报报错"UnicodeDecodeError: 'utf-8' codec can't decode byte"的解决办法 **

    2.1.1把csv后缀文件改为txt后缀文件

    image image

    2.1.2双击打开修改过后缀的txt文件,点击文件------另保存为

    image

    2.1.3选择适合文件的编码格式,并保存替换原来的文件

    image

    2.1.4把修改好的文件修改为csv后缀名,再运行项目

    相关文章

      网友评论

        本文标题:Python minidom读取xml/csv文件数据简单操作

        本文链接:https://www.haomeiwen.com/subject/hkgkyktx.html