我在加载具有数十万行的文本文件时遇到问题(示例可以下载here)。我通过以下方式加载文件:
import pandas as pd
data = pd.read_csv('file_name.txt', sep='|', skiprows=[1])
我主要关注:“州代码”,“城市代码”和“站点ID”列,它们作为对象/浮点数导入。但是,我需要保留任何前导零,所以我尝试打开指定dtype:
data = pd.read_csv('file_name.txt', sep='|', skiprows=[1], dtype='string')
这会在我的数据框中产生乱码,所以我尝试指定编码:
data = pd.read_csv('file_name.txt', sep='|', dtype='string', encoding='latin-1')
这会产生另一个乱码。我还尝试使用字典按列指定dtype:
types = {'State Code':'string','County Code':'string','Site ID':'string'}
tmp = pd.read_csv('file_name.txt', sep='|', skiprows=[1], dtype=types)
一切都无济于事。
我搜索了论坛,并完成了网络搜索,似乎我正在做的事情应该有效。有什么想法吗?