逐行读取txt文件得line,每行按空格分割一个数组line_data[],line_data[0]是userID,对于相同的user只取其第一个位置样本,其中提取第三四列元素,写进excel中.
原txt文件(高达300多M,用UltraEdit才打得开):
例如上图,对于userID为1的样本只需要把经度2.333和纬度48.8633提取出来,以此类推,得到每个用户的第一个位置的经纬度,写入excel表格中,然后导入水经注万能地图中标志出来,达到可视化的效果。
*写excel需要安装xlwt库: pip install xlwt
import xlwt
cnt=500
preID=-1
Longitude=[]
Latitude=[]
for line in open(r"C:\Users\Administrator\Desktop\毕设\Gowalla_totalCheckins.txt", "r") : #设置文件对象并读取每一行文件
line_data = line.split()
if line_data[0]!=preID:
preID=line_data[0]
Latitude.append(float(line_data[2]))#将字符串类型转换成float类型
Longitude.append(float(line_data[3]))
# print(line)
cnt-=1
if cnt==0:
break
xls=xlwt.Workbook()#新建工作簿;
sht1=xls.add_sheet("Sheet1")#新建sheet;
for index in range(l