我正在尝试从FDIC加载数据集。 FDIC每季度发布一个zip文件,其中包含约62个csv文件,其名称如下:
All_Reports_20080331_Assets and Liabilities.cvs,
All_Reports_20080331_Bank Assets Sold and Securitized.csv,
etc
我已将所有文件下载到如下目录中:
C:\projects\FDIC\All_Reports_20080331
一旦有许多可用的来自不同季度的zip文件,我将开始为循环准备结构,该循环将在许多路径上运行(每个路径代表一个季度,其中包含62个csv文件)。但是,在进入循环之前,由于某些utf_8错误,上传无法正常工作。
import pandas as pd
path = r"C:\projects\FDIC\All_Reports_20080331"
file = r"\All_Reports_20080331_Assets and Liabilities.csv"
df_assets_&_liab = pd.read_csv(path+file)
给我以下错误:
'utf-8' codec can't decode byte 0xfc in position 5: invalid start byte
我试图在pandas.read_csv中使用一个参数来表示“ utf_8”,但错误消息是相同的。
关于如何通过熊猫更好地加载这些文件的任何想法? 非常感谢!
ps:包含62个csv文件的副本可以在这里找到:FDIC Website
答案 0 :(得分:1)
首先查看文件的编码格式。
import chardet
with open(path+file,"rb") as f:
data = f.read()
print(chardet.detect(data))
{'encoding': 'ISO-8859-1', 'confidence': 0.73, 'language': ''}
然后
df_assets_&_liab = pd.read_csv(path+file,encoding='ISO-8859-1')