Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python在数组中转换txt_Python_Arrays_Python 2.7_File_Samba - Fatal编程技术网

Python在数组中转换txt

Python在数组中转换txt,python,arrays,python-2.7,file,samba,Python,Arrays,Python 2.7,File,Samba,我正在从samba文件服务器读取一个.dat文件,其中包含一些风传感器数据。该文件包含一个包含一些信息的标题(第1、3和4行),一行上有传感器名称(第2行),以及身体上传感器的读数(144行,每10分钟一行),如下所示: "DataFormat","Anemometric tower","Datalogger","SomeCode","LoggerOS","LoggerFileSystem","AnotherCode","Table1" "TIMESTAMP","RECORD","Precipi

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

"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列中的所有值都属于Baromer1传感器)

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

$data='';
而(!feof($stream)){
$data.=fread($stream,8192);
}
$lines=explode(PHP\u EOL,$data);
foreach($line作为$line){
$array[]=分解(“,”,$line);
}
然后我循环遍历$array[$row][$col],为每种类型的传感器创建一个列表,并将每个列表插入各自的数据库表中

但是我需要它来处理python脚本,所以我尝试了

data=file_obj.read()
文件_obj.close()
lines=data.split('\n')
数组=[]
对于行中的行:
数组[行.索引(行)]=行.拆分(',')
在终端上打印数据返回字符串形式的全文,在终端上打印返回每行(例如:打印(行[1]),而数组返回错误

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


使用库从samba共享中获取文件_obj为此,最好使用python库在数据帧中组织数据

e、 g


为此,最好使用python库在数据帧中组织数据

e、 g


另一种解决方案是将行转换为列表并将其附加到数据帧:

import pandas as pd

list=[["DataFormat","Anemometric tower","Datalogger","SomeCode","LoggerOS","LoggerFileSystem","AnotherCode","Table1"]]

df=pd.DataFrame(list,columns=['col1'])

另一种解决方案是将行转换为列表并将其附加到数据帧:

import pandas as pd

list=[["DataFormat","Anemometric tower","Datalogger","SomeCode","LoggerOS","LoggerFileSystem","AnotherCode","Table1"]]

df=pd.DataFrame(list,columns=['col1'])

为了编写类似的逻辑(php和python),我设法使用 功能

但是,正如人们提到的,熊猫图书馆也可以提供帮助

data=file_obj.read()
文件_obj.close()
lines=data.split('\n')
数组=[]
对于行中的行:
array.append(line.split(','))

为了编写类似的逻辑(php和python),我设法使用 功能

但是,正如人们提到的,熊猫图书馆也可以提供帮助

data=file_obj.read()
文件_obj.close()
lines=data.split('\n')
数组=[]
对于行中的行:
array.append(line.split(','))

我现在正在学习熊猫。这个库可以帮助我在数据库中插入数据吗?如果没有,我有理由在其中添加另一个程序层吗?我问这个问题,因为在我的头脑中,我的任务是:读取文件>将表格行组织到列表中(例如:风速计1List=['2019-06-19 00:10:00'=>10.76701,'2019-06-19 00:20:00'=>9.991986]…),>在数据库中插入列表。如果我使用熊猫,我应该阅读文件>组织数据>在熊猫数据框中插入>在数据库中插入数据框是的,您可以直接将df插入数据库。你可以根据你的数据库搜索。e、 g df.to_sql('table',engine,if_exists='replace')我现在正在学习熊猫。这个库可以帮助我在数据库中插入数据吗?如果没有,我有理由在其中添加另一个程序层吗?我问这个问题,因为在我的头脑中,我的任务是:读取文件>将表格行组织到列表中(例如:风速计1List=['2019-06-19 00:10:00'=>10.76701,'2019-06-19 00:20:00'=>9.991986]…),>在数据库中插入列表。如果我使用熊猫,我应该阅读文件>组织数据>在熊猫数据框中插入>在数据库中插入数据框是的,您可以直接将df插入数据库。你可以根据你的数据库搜索。e、 g df.to_sql('table',引擎,如果存在='replace')