我想要做的是按IRI_KEY对数据进行排序,但我遇到了一些问题 因为当我尝试
时Z['IRI_KEY']
KeyError: u'no item named IRI_KEY'
它告诉我他们没有IRI_KEY,但实际上它有
所以我尝试的是看那里的数组
我的数据没有像csv
这样的特定类型mayo_groc = 'mayo_groc_1322_1373'
Z = pd.read_table(mayo_groc,sep=',', warn_bad_lines=True, error_bad_lines=True)
Z
IRI_KEY WEEK SY GE VEND ITEM UNITS DOLLARS F D PR
0 234212 1322 0 1 21000 77742 18 54.00 ...
1 234212 1322 0 1 21000 64005 11 30.69 ...
2 234212 1322 0 1 21000 64012 8 30.32 ...
3 234212 1322 0 1 21000 64508 13 38.87 ...
4 234212 1322 0 1 21000 77749 14 42.00 ...
5 234212 1322 0 1 21000 64004 14 39.06 ...
6 234212 1322 0 1 21000 64507 11 32.89 ...
7 234212 1322 0 1 21000 64512 6 22.74 ...
8 234212 1322 0 1 21000 64591 5 13.45 ...
9 234212 1322 0 1 21000 64510 14 41.86 ...
[2444224行x 1列]
为什么它只有一列? 我该如何解决这个问题?
以下是实际数据示例 它没有任何扩展,所以我通过vi命令
读取它vi mayo_groc_1322_1373
IRI_KEY WEEK SY GE VEND ITEM UNITS DOLLARS F D PR
234212 1322 0 1 21000 77742 18 54.00 B 0 0
234212 1322 0 1 21000 64005 11 30.69 NONE 0 0
234212 1322 0 1 21000 64012 8 30.32 NONE 0 1
234212 1322 0 1 21000 64508 13 38.87 NONE 0 0
234212 1322 0 1 21000 77749 14 42.00 B 0 1
234212 1322 0 1 21000 64004 14 39.06 NONE 0 0
234212 1322 0 1 21000 64507 11 32.89 NONE 0 0
234212 1322 0 1 21000 64512 6 22.74 A 0 1
答案 0 :(得分:1)
看起来您的数据不是"逗号分隔",而是"空格分隔"。你试过了吗?
df = pd.read_csv('path/to/your/file', delim_whitespace=True)
如:
from StringIO import StringIO
text = """IRI_KEY WEEK SY GE VEND ITEM UNITS DOLLARS F D PR
234212 1322 0 1 21000 77742 18 54.00 B 0 0
234212 1322 0 1 21000 64005 11 30.69 NONE 0 0
234212 1322 0 1 21000 64012 8 30.32 NONE 0 1
234212 1322 0 1 21000 64508 13 38.87 NONE 0 0
234212 1322 0 1 21000 77749 14 42.00 B 0 1
234212 1322 0 1 21000 64004 14 39.06 NONE 0 0
234212 1322 0 1 21000 64507 11 32.89 NONE 0 0
234212 1322 0 1 21000 64512 6 22.74 A 0 1"""
filelike = StringIO(text)
df = pd.read_csv(filelike, delim_whitespace=True)