ValueError:项目错误长度907而不是2000

时间:2016-07-10 00:06:22

标签: python python-2.7 pandas

我有一个csv文件,有1000列。我只需要阅读前100列。我为此编写了这个程序:

import pandas as pd

list = []
for i in range (1, 100):
    list.append(i)
df = pd.read_csv('piwik_37_2016-07-08.csv',dtype = "unicode")
df = df[df.columns.isin(list)]
df.to_csv('abc.csv', index = False)

但我收到错误:ValueError:项目错误长度907而不是2000.无法弄清楚我哪里出错了

2 个答案:

答案 0 :(得分:1)

你的代码有很多奇怪的地方。例如,没有理由迭代范围对象并更新列表以获取数字列表。只需使用list(range(1,100))即可。

但是,如果您只需要csv中的前100列,那么您可以使用内置功能:

df = pd.read_csv('piwik_37_2016-07-08.csv',dtype = "unicode", usecols = list(range(100)))

答案 1 :(得分:0)

尽管它被否决了,但仍然是代码中的一个小小的修正。

import pandas as pd

l = list(range(0,100))
df = pd.read_csv('piwik_37_2016-07-08.csv',dtype = "unicode")
df = df.loc[:,df.columns.isin(l)]
df.to_csv('abc.csv', index = False)