把上次代码优化一下,直接读取CSV文件的某列数据进行处理。
先把CSV文件用notepad++打开,并且转化为UTF-8编码格式进行存储,
with open(FeilName,'rt', errors='ignore') as csvfile:
在这个函数中添加errors = 'ignore',这是因为文件包含中文字符集,有些字符UTF-8,或者GBK打不开就会报错。添加errors参数忽略错误。
import numpy as np
import pandas as pd
import csv
FeilName = "2022-6-8-pm1549Stop.csv"
#读取CSV文件,并且将所需要处理的一整列存储在column列表中
#最主要改变是添加errors参数
with open(FeilName,'rt', errors='ignore') as csvfile:
reader = csv.reader(csvfile)
column = [row[9] for row in reader]
print (column[2])#这个输出用来检测自己能否正常读取所需要的列
i = 1#读取列表时从下标1开始,(下标0是Header,如果有的话)
j = len(column)-1#获取列表长度
Roll_Data_lists = []#横滚角数据存储列表
Pitch_Data_lists = []#俯仰角数据存储列表
#列表中的数据形式是字符串数字,需要把列表中字符串转化为单个字符数字,存储到Datas_char中,再使用map函数将其转化为整型数字
while i <= j:
#str1 = "x| 00 00