lat=[]
lon=[]
with open("Rawcomdata.log") as fin: # Input file
for line in fin:
if '$GPRMC' in line: # check message from input line
data=line.split(',')
lat.append(data[1]) # extract data and store in buffer
lon.append(data[3])
import pandas as pd
import numpy as np
df=pd.DataFrame({'lat':lat})
df['lat']=pd.to_numeric(df['lat'], errors='coerce')
df['lat'].fillna(0,inplace=True)
df.to_csv('test.csv')
当列表是字符串系列格式时,如何将列表转换为具有不同标题的数据帧
#输入
$GPRMC,134101.25,A,1256.99918,N,07738.00030,E,0.008,159.76,070316,,,A,V*1A
$GPGSA,A,3,01,02,07,08,10,31,13,30,26,28,,,1.64,0.77,1.44,1*1D
$GPRMC,,V,,,,,,,,,,N,V*29
....................
答案 0 :(得分:0)
显然,您的某些行没有有效的float
数据,特别是某些行的文字lat
无法转换为浮动。
要删除NaN
行,您可以使用dropna方法。
df = df.dropna(axis=0, how='all')
没有drop
的另一种方法。
df = df[np.isfinite(df['lat'])]
此外,您可以使用read_csv
功能阅读文件。
df = pd.read_csv('Rawcomdata.csv')