美文网首页
Python读写文件

Python读写文件

作者: hsihsi | 来源:发表于2020-03-08 22:24 被阅读0次

    Python读写txt、csv文件


    1.读文件

    读入txt文件并转为数字

    def loadTxt(filename):
        fp = open(filename)
        data = []
        for lines in fp.readlines():
            '''lines = lines.replace("\n", "").split(" ")
            data.append(lines)'''
            data.append(list(map(int, lines.replace("\n", "").split(" "))))
         fp.close()
         return data
    

    读入csv文件

    import csv
    def loadDateSet(filename):
        data = []
        with open(filename) as file:
            reader = csv.reader(file)
            for line in reader:
                data.append(line)
        return data 
    

    2.写文件

    写txt文件

    假设要写入文件的内容为content
    写文件的方式有两种:逐行写和一次性全部写入

    • 逐行写
    with open('test1.txt','w') as file:
        for line in content:
            file.write(line)
            '''filr.write(line + '\n')''' 
            #write()不能自动分行,需要自己加入换行符
    
    • 一次性写入
    with open('test2.txt','w') as file:
        file.writelines(content)
        #若想不覆盖原文件内容进行写入,将'w'改成'a'即可
    

    写csv文件

    假设要写入文件的内容为content

    • 逐行写
    import csv
    with open('test3.csv','w',newline='') as file: #python3才可使用newline='',python2.7改用'wb'即可
        writer = csv.writer(file)
        for line in content:
            writer.writerow(line)
    
    • 一次性写入
    import csv
    with open('test4.csv','w',newline='') as file:
        writer = csv.writer(file)
        writer.writerows(content)
    
    新增
    • 写入csv文件中文乱码问题
      在向csv文件中写入中文时会出现乱码问题,解决方式:设置文件写入属性。
    import csv
    imort codecs
    
    content = ['你好','中国']
    
    with open('test5.csv','wb') as file:
        file.write(codecs.BOM_UTF8)
        writer = csv.writer(file)
        writer.writerow(content)
    

    注:原链接https://blog.csdn.net/Zx_whu/article/details/52260239是我自己的csdn博客,后续不打算继续使用csdn,故将原有内容迁移过来。

    Created at 2016.08.20.

    相关文章

      网友评论

          本文标题:Python读写文件

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