python科研向数据处理篇——批量向Excel写入数据

使用Python的XlsxWriter库,批量读取多个含有电流值的TXT实验数据文件,并将其整合到一个Excel表格中,便于后续数据分析。文章详细介绍了代码实现过程,包括文件筛选、数据读取、统计计算及内容写入。
摘要由CSDN通过智能技术生成

python科研向数据处理篇——批量向Excel写入数据

作者:ruierx

项目背景

实验数据为电流值,由AD采集模块通过串口发送至上位机保存为txt文本,有多组实验,每组实验保存在一个文本文件中,现需要将所有数据综合至一个Excel表格中做后续分析,单独操作每个文件费时费力,只能再次祭出python大法开挂,哈哈!python牛逼!

数据为16组实验,每组实验重复两次,共32组数据:命名方式如下:
文本数据概览图
其中文件名含有(processed)的数据为处理过的有效数据,同名其他文件为采集原数据和处理过程数据,数据处理同样使用python,在另一篇文章中我会详述处理过程,此处直接使用有效数据。数据内容如图:
有效数据内容图
每行一个电流值,每组实验约有数万条数据。
要做的工作就是把这32组实验的电流按列存入同一个excel中,用于后续分析使用。OK,目标明确,开工!

基础

经过简单查找资料,python操作excel的库有很多,但本项目只需要写入功能,有两个库简单易用——xlwtXlsxWriter,操作方法类似,这里选择XlsxWriter,支持写入 .xlsx 格式文件。

安装

pip install XlsxWriter

基础操作代码概览
import xlsxwriter

workbook = xlsxwriter.Workbook('hello.xlsx') # 建立一个excel文件
worksheet = workbook.add_worksheet() # 向文件中添加一个sheet表格

worksheet.write('A1', 'Hello world') # 向表格中写入内容
workbook.close() # 关闭表格并保存

执行后,自动生成了hello.xlsx文件,打开如图:
基础代码结果图
相当简单是不是,其余的就是按要求循环写入数据了。

加亿点点细节

import xlsxwriter
from os import listdir, getcwd

path = getcwd().split('\\')[-1]
print("当前文件夹: " + path)

# 建立一个excel文件和工作表
workbook = xlsxwriter.Workbook(f'{path}有效电流数据汇总.xlsx')
current = workbook.add_worksheet('电流数据')
current_statistics = workbook.add_worksheet('统计数据')

# 预设写入格式
num = workbook.add_format({'num_format': '0.000'})
bold = workbook.add_format({'bold': True})

# 读取配置文件,用于统计计算
with open('../进给速度.txt', 'r') as f:
    speed = f.read().strip().split()

col = 0

for i in listdir():

    # 获取有效数据文件列表
    if '(processed).txt' in i:
        print("开始处理: " + i)

        # 读取txt数据并转换成列表储存
        with open(i, 'r') as t:
            data = t.read().strip().split()
        print("数据长度: ", len(data))

        row = 0

        # 简单统计
        current_statistics.write(row, col, i[:-15], bold)
        current_statistics.write(row + 1, col, len(data))
        current_statistics.write(
            row + 2, col, len(data) / 27000 * int(speed[col][-2:]), num)

        current.write(row, col, i[:-15], bold)  # 写表头

        # 向表格中写入全部数据
        for d in data:
            row += 1
            current.write(row, col, d)
        # break

        col += 1

workbook.close()  # 关闭表格并保存

执行结果如下:
数据写入excel结果图

完成!后续就可以方便的进行数据处理了,Nice!

参考资料

XlsxWriter官方文档:使用 Python 和 XlsxWriter 创建 Excel 文件 — XlsxWriter 文档
其他大神的翻译文档:Python中的模块–XlsxWriter - 简书 (jianshu.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值