df = pd.read_csv(os.path.join(sub_root, file))报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb1 in position 6: invalid start byte
时间: 2023-07-26 08:33:35 浏览: 72
这个错误通常意味着您的 CSV 文件使用了其他编码方式(例如 GBK),而不是 UTF-8。您可以尝试指定文件编码方式来解决这个问题。以下是一个示例代码:
```python
import os
import pandas as pd
# 设置文件夹路径
folder_path = "/path/to/folder"
# 初始化计数器
total_rows = 0
# 遍历所有文件夹和文件
for root, dirs, files in os.walk(folder_path):
for dir in dirs:
# 如果子文件夹还有子子文件夹
for sub_root, sub_dirs, sub_files in os.walk(os.path.join(root, dir)):
for file in sub_files:
# 如果文件是 CSV 文件
if file.endswith(".csv"):
# 读取 CSV 文件,并指定编码方式
df = pd.read_csv(os.path.join(sub_root, file), encoding='GBK')
rows = df.shape[0]
# 将行数加到计数器中
total_rows += rows
# 输出结果
print("总行数为:", total_rows)
```
请将 `/path/to/folder` 替换为您的文件夹路径。这个代码会遍历所有的子文件夹和 CSV 文件,并使用 pandas 库读取 CSV 文件并指定编码方式(例如 GBK),然后统计行数并加到计数器中,最后输出总行数。