所给文件为某工厂的三相电压、电流、功率因数、有功功率、无功功率和视在功率,读取30分钟数据,根据电压、电流和功率因数,计算有功功率、无功功率、视在功率,与实测数据对比,绘图对比计算值和实测值。
说明:
1.txt文件数据是经过处理的数据,读取后需删除空格,转换格式;有的文件第一行为乱码,可以删除;
2.电压.txt、电流.txt和PF.txt文件的数据是A、B、C、N相电压、电流、功率因数的最小值、平均值和最大值,使用平均值计算;
3.有功功率.txt、无功功率.txt、视在功率.txt文件的数据是A、B、C相和三相总功率的最小值、平均值和最大值;
文件无法上传,给出程序即可,感谢
可追加酬金
将原文本数据另存"utf-8"格式,读取时使用编码‘utf-8-sig',用pandas对数据进行类型转换,参考代码:
import numpy as np
import pandas as pd
#a=np.loadtxt('电流.txt')
pd.set_option('display.max_columns',None)
def read_txt(fn):
a=pd.read_table(fn,header=None,skiprows=1,encoding='utf-8-sig',delimiter='\t')
a=a.applymap(lambda x:x.replace(' ',''))
a=a.iloc[:,[0,1,2,3,4,6,7,8,10,11,12,14,15,16]]
a['date']=a[[0,1]].apply(lambda x: ' '.join(x), axis=1)
a['date']=pd.to_datetime(a['date'])
a=a.set_index('date').drop([0,1],axis=1).astype(float).reset_index()
print(a)
print(a.info())
f='电流2.txt'
read_txt(f)
[7228 rows x 13 columns]
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7228 entries, 0 to 7227
Data columns (total 13 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 date 7228 non-null datetime64[ns]
1 2 7228 non-null float64
2 3 7228 non-null float64
3 4 7228 non-null float64
4 6 7228 non-null float64
5 7 7228 non-null float64
6 8 7228 non-null float64
7 10 7228 non-null float64
8 11 7228 non-null float64
9 12 7228 non-null float64
10 14 7228 non-null float64
11 15 7228 non-null float64
12 16 7228 non-null float64
dtypes: datetime64[ns](1), float64(12)
你txt文件的格式是什么?
发一个样例出来.不知道txt文件的格式不好写对应代码啊