可能遇到的问题:注意txt文档编码格式,不然用pd.read_csv可能会报错
用下面这段代码检测txt文档的编码格式
# 读取文件并检测编码格式
with open(train_data_file, 'rb') as f:
result = chardet.detect(f.read())
print(result)
结果如下:{'encoding': 'GB2312', 'confidence': 0.99, 'language': 'Chinese'}
可以看到encoding编码格式是“GB2312”,这是中文编码的意思
train_data= pd.read_csv(train_data_file, sep='\t', encoding='gb2312',skiprows=[0],header=None)
所以这里的encoding参数设为GB2312就行了(gb大小写应该都行没试)。
pd.read_csv的skiprows参数表示要跳过的行数。
pd.read_csv的header参数用于控制哪一行作为列名。具体来说:
- 如果
header=None
(默认值),则数据框的列名将自动编号生成。此时,文件的第一行将被视为数据的一部分而不是列名。 - 如果
header=0
或header='infer'
,则数据框会将文件的第一行视为列名。 - 如果
header
为一个整数,则数据框将把文件的第header
行视为列名。 - 如果
header
为一个列表,则该列表中的值将用作列名。