Python3 pandas读取csv文件编码报错问题

本文描述了使用Python2处理数据并保存为CSV后,在Python3中读取时遇到的UnicodeDecodeError错误。提供了通过Sublime Text更改文件编码为UTF-8的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题起因

我用python2清洗数据,并存到csv文件中

   

payloads.to_csv('data/payloads.csv')

用python3读取csv文件时,报一下错误:

 

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 32: invalid start byte

 

解决方法:使用sublime打开csv文件,选择file并Save with encoding -> UTF-8即可。

 

### 如何使用 PandasPython读取 CSV 文件Python 中,Pandas 是一个强大的数据分析库,提供了简单易用的接口来处理 CSV 文件。以下是一个详细的说明和示例代码。 要读取 CSV 文件,可以使用 `pandas.read_csv()` 方法[^1]。此方法允许指定文件路径、编码方式以及其他参数以适应不同的文件格式需求。例如,如果文件包含中文字符,可能需要设置适当的编码格式(如 `gbk` 或 `utf-8`)[^1]。 以下是使用 Pandas 读取 CSV 文件的基本示例代码: ```python import pandas as pd # 指定文件路径和编码方式 df = pd.read_csv('property-data.csv', encoding="gbk") # 使用 gbk 编码处理中文字符 print(df.to_string()) # 打印整个 DataFrame 的内容 ``` 在上述代码中: - `'property-data.csv'` 是目标 CSV 文件的路径。 - `encoding="gbk"` 指定了文件编码格式,适用于包含中文字符的文件[^1]。 - `df.to_string()` 将整个 DataFrame 转换为字符串并打印,确保输出所有行和列。 此外,还可以通过传递自定义列名来读取 CSV 文件。例如: ```python import pandas as pd # 自定义列名 df = pd.read_csv('data.csv', names=['ts_code', 'symbol', 'name', 'area', 'industry', 'list_date'], index_col=None) print(df.head()) # 显示前几行数据 ``` 在此代码中: - `names` 参数用于定义自定义列名[^4]。 - `index_col=None` 表示不将任何列设置为索引[^4]。 ### 高级功能 如果需要逐行读取大型 CSV 文件,可以结合 `chunksize` 参数分块读取,避免内存不足的问题[^2]: ```python import pandas as pd # 分块读取 CSV 文件 chunk_size = 1000 # 每次读取的行数 chunks = [] for chunk in pd.read_csv('large_file.csv', chunksize=chunk_size): chunks.append(chunk) # 合并所有分块 df = pd.concat(chunks, ignore_index=True) print(df.head()) ``` 以上代码展示了如何通过分块读取大型 CSV 文件,并将其合并为一个完整的 DataFrame[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值