gpt4 book ai didi

Python将txt转换为数组

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:21 27 4
gpt4 key购买 nike

我正在从 samba 文件服务器读取包含一些风传感器数据的 .dat 文件。该文件包含一个包含一些信息的标题(第 1,3 行和第 4 行),一行包含传感器名称(第 2 行),以及 body 上传感器的读数(144 行,每 10 分钟 1 行),如下所示:

"DataFormat","Anemometric tower","Datalogger","SomeCode","LoggerOS","LoggerFileSystem","AnotherCode","Table1"
"TIMESTAMP","RECORD","Precipit1","Barometer1","Temperature1","Humidity1","Anemometer1","Windvane1","Anemometer2","Windvane2","Battery1"
"TS","RN","","hPa","C. Deg","%RH","m/s","Deg","m/s","Deg","Volts"
"","","Smp","Avg","Avg","Avg","Avg","Avg","Avg","Avg","Avg"
"2019-06-19 00:10:00",1211,"NAN",921.014,19.57733,98.29526,10.76701,137.6863,10.68348,139.7062,11.91,
"2019-06-19 00:20:00",1212,"NAN",920.9402,19.44474,98.67733,9.991986,141.5792,9.892648,143.3559,11.35
"2019-06-19 00:30:00",1213,"NAN",920.6142,19.45635,99.00026,10.80979,148.0094,10.63116,150.0893,11.41
...more 141 lines...

我的目标是将原始文本转换为表格(例如,我知道第 4 列中的所有值都属于 Barometer1 传感器)。

我设法编写了一个有效的 PHP 脚本,我读取所有文件直到文件末尾,附加到字符串,用 EOL 分隔符(结果行数组)分解,然后最后用“,”(逗号)分隔符分解(数组的数组?)

       $data = '';
while (!feof($stream)) {
$data .= fread($stream, 8192);
}
$lines = explode(PHP_EOL, $data);
foreach ($lines as $line) {
$array[] = explode(",", $line);
}

然后我循环遍历 $array[$row][$col],为每种类型的传感器创建一个列表,并将每个列表插入相应的数据库表中。

但是我需要它与python脚本一起使用,所以我尝试了

    data = file_obj.read()
file_obj.close()

lines = data.split('\n')
array = []
for line in lines:
array[lines.index(line)] = line.split(',')

在终端上打印数据会返回字符串中的全文,在终端上打印会返回每一行(例如:print(lines[1])),而数组返回错误

    array[lines.index(line)] = line.split(',')
IndexError: list assignment index out of range

使用 pysmb 库从 samba 共享获取 file_obj

最佳答案

为此,最好使用 python pandas 库来组织数据框中的数据。

例如

import pandas as pd
pd.read_csv('yourfile.dat',
header=None, sep='\s\s+', engine='python')

关于Python将txt转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57012700/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com