python对文件每行添加一个符号或逗号

问题:

处理数据的时候,发现给出的内容非json格式,如图,需要处理成json,在每行添加一个逗号,并在数据开始结束添加"["和"]"

处理:

  1. 读取旧文件每一行,并在每一行添加个逗号
  2. 给要保存的文件添加json "["
  3. 每一次用附加的模式写入到要保存的文件里
  4. 给要保存的文件添加json "]"

代码:

with open('当前文件', 'r') as f1, open('目标文件', 'a+') as f2:
    f2.writelines('[')
    for line in f1:
        f2.writelines(line + ',')
    f2.writelines(']')

结果如图:

*注意:最后一个逗号需要手动去除,这也是本段代码的不足,如有更好解决,可留言解决

要采集传感器数据,你需要先连接传感器,并根据传感器的类型编写相应的代码。这里我们以DS18B20温度传感器为例,通过树莓派采集数据。 ```python import os # 初始化DS18B20传感器 os.system('modprobe w1-gpio') os.system('modprobe w1-therm') # 读取传感器数据 def read_temperature(): sensor_file = '/sys/bus/w1/devices/28-00000xxxxxxx/w1_slave' try: with open(sensor_file, 'r') as f: lines = f.readlines() crc = lines[0].strip()[-3:] if crc == 'YES': temp_line = lines[1].strip() temperature = float(temp_line.split('=')[1])/1000.0 return temperature else: return None except: return None ``` 以上代码中,我们首先初始化DS18B20传感器,然后通过`read_temperature()`函数读取传感器数据并返回温度值。请注意,这里需要将28-00000xxxxxxx替换为你的传感器ID。 接下来,我们可以将采集到的数据以msv格式输出。代码如下: ```python import time # 采集并输出数据 with open('data.msv', 'w') as f: while True: temperature = read_temperature() if temperature is not None: timestamp = time.time() f.write('{:.3f}, {:.1f}\n'.format(timestamp, temperature)) f.flush() time.sleep(1) ``` 以上代码中,我们不断采集数据并将数据以msv格式写入到`data.msv`文件中。每行数据由时间戳和温度值组成,用逗号分隔。文件写入后,需要调用`flush()`方法将数据写入磁盘。 需要注意的是,`time.time()`返回的是从1970年1月1日开始计算的秒数,需要将其转换为毫秒数以符合msv格式的要求。 希望以上代码可以帮助你采集传感器数据并以msv格式输出。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l8947943

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值