Python数据处理-文件编码格式读取

        在利用诸如pd.read_csv,open等函数对文件数据进行导入和读取时,我们常常需要指定文件的编码格式,常见的编码格式包括UTF-8、UTF-16、ISO-8859-1等等,那么如何对文件的编码格式进行确定,这里需要用到python中的chardet库:

import chardet

# file_path = "D:/kaggle/data.txt"
file_path = "D://kaggle//data.xls"

# 读取文件内容,并使用 chardet 检测编码
with open(file_path, 'rb') as f:
    raw_data = f.read()  # 将读取的文件内容存储到变量中
    result = chardet.detect(raw_data)  # 变量分析

# 打印检测结果
print(f"The detected encoding is: {result['encoding']}. "
      f"Confidence: {result['confidence']:.2f}")
      # 编码格式及置信度
The detected encoding is: ISO-8859-1. Confidence: 0.73

The detected encoding is: None. Confidence: 0.00

        文件编码检测结果为ISO-8859-1,置信度为0.73,置信度不是非常高;

        文件编码检测结果为None,且置信度为0.00,说明无法对文件的编码格式进行确定,可以利用其他方法进一步确定文件编码格式或者对各种编码格式进行逐一试错;

        再者,可以考虑使用一些无需自行指定文件编码格式的方法进行文件读取,例如,针对Excel文件格式xls、xlsx,可以利用专门的python库对其进行读取和处理,无需进行文件编码格式的确定和试错:

import xlrd
    # xlrd支持xls文件
# import pandas as pd

# 文件路径
file_path = r"D:/kaggle/data.xls"

# df = pd.read_excel(file_path)
# print(df.head())  # pandas也可以

# 打开 Excel 文件
workbook = xlrd.open_workbook(file_path)
print(workbook)

# 选择第一个工作表
sheet = workbook.sheet_by_index(0)
print(sheet)

# 读取数据示例:输出第一行前5列的数据
for col in range(min(sheet.ncols, 5)):
    cell_value = sheet.cell_value(0, col)
    print(f"第1行第{col+1}列:", cell_value)

# 关闭 workbook
workbook.release_resources()
del workbook
import xlrd

# import the data
file_path = "D://kaggle//data.xls"
workbook = xlrd.open_workbook(file_path)  # 打开Excel文件
sheet = workbook.sheet_by_index(0)  # 索引第一个工作表
column = sheet.col_values(1)  # 不可以像列表一样进行切片
print(column)
# print(sheet[0][1], type(sheet[0]), type(sheet[0][1]))  # <class 'list'> <class 'xlrd.sheet.Cell'>
value = sheet[1][1]  # cell
print(value.value, type(float(value.value)))  # cell.value   str  float(str)

# 建立df存储表格信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值