python读写txt、csv、json

先写这些,有时间再加。

import csv

'''
Description:文件读写工具
Author:西兰
Date:2019-11-30
'''
class util(object):

    '''
    以追加形式写入txt文件,带换行
    '''
    def write_to_txt(self,filename, line):
        with open(filename, 'a', encoding='utf-8') as f:
            f.write(line +'\n')


    '''
    读取txt文档,适合文本内容较小的文档
    读取结果存入list,内存占用较大
    :return list
    '''
    def read_txt(self,filename):
        with open(filename, 'r', encoding='utf-8') as f:
            list = f.readlines()
        return list
    '''
    读取txt文档,适合文本内容较大的文本,内容占用较小
    '''
    def read_txt_with_small_cache(self, filename):
        with open(filename, 'r', encoding='utf-8')as f:
            line = f.readline()
            while(line):
                print(line)
                line = f.readline()
    '''
    写入csv,追加形式
    row_data是列表形式
    '''
    def write_to_csv(self,filename,row_data):
        with open(filename, 'a+', newline="", encoding='utf-8') as f:
            csv_add = csv.writer(f)
            csv_add.writerow(row_data)
    '''
    读取csv
    '''
    def read_csv(self,filename):
        with open(filename, newline='', encoding='UTF-8') as f:
            rows = csv.reader(f)
            for row in rows:
                print(''.join(row))



##python读写json:

import json

'''
将数据保存为json格式
1、python3里面默认编码是unicode
2、做dump与dumps操作时,会默认将中文转换为unicode,但在做逆向操作load和loads时会转换为中文,
   但是中间态(例如存储的json文件)的中文编码方式仍然是unicode
   解决办法:
       在dump里面添加ensure_ascii=False
'''

dict = {}
data_dict = {}
dict['token'] = 'md5(gateguard+服务器IP)'
list = []
list.append(data_dict)
dict['data'] = list
data_dict['name'] = '张三'
data_dict['age'] = '24'
data_dict['address'] = '上海市松江区'
#写入json
with open('./data.json', mode='w', encoding='utf-8') as f:
      f.write(json.dumps(dict, ensure_ascii=False, indent=2))

#读取json
with open('./data.json', mode='r', encoding='utf-8') as f2:
      print(json.load(f2))


写入后的结果:
{
  "token": "md5(gateguard+服务器IP)",
  "data": [
    {
      "name": "张三",
      "age": "24",
      "address": "上海市松江区"
    }
  ]
}

上海今天下起了小雨,呜啦啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值