Python 替换空数据集
对不起,我同意这句话写得很糟糕: 第二个例子: 我在50多个数据集中有许多数据列(最多63列)。我只提取我需要的3列数据,并将其写入一个新的.csv文件。我的一些数据集没有第三列所需的数据。但没关系,我可以将其留空(或者插入另一个值,如“-”或其他任何值)。我不想打开所有的文件来找出哪些文件有什么。尝试从不存在的列中提取数据时收到的错误消息是:Python 替换空数据集,python,Python,对不起,我同意这句话写得很糟糕: 第二个例子: 我在50多个数据集中有许多数据列(最多63列)。我只提取我需要的3列数据,并将其写入一个新的.csv文件。我的一些数据集没有第三列所需的数据。但没关系,我可以将其留空(或者插入另一个值,如“-”或其他任何值)。我不想打开所有的文件来找出哪些文件有什么。尝试从不存在的列中提取数据时收到的错误消息是: IndexError: list index out of range 我可以写一个循环来解决这个问题吗? 我对python真的是一个新手,在我看来这
IndexError: list index out of range
我可以写一个循环来解决这个问题吗?
我对python真的是一个新手,在我看来这很容易,但当我试图真正做到这一点时,这是非常困难的
谢谢根据错误消息,我猜您有一个类似于以下内容的列表列表(粗略简化): 您正在尝试执行以下操作: 对于xrange(4)中的行: 对于X范围(4)中的列: #还有别的吗? 打印数据[行][列] 然后您会得到错误,因为其中一个值在索引3处没有元素:
+------------------------+
| Index: | 0 | 1 | 2 | 3 |
+------------------------+
|Value: | 1 | 2 | 3 | <----- No value at index 3
+--------------------+
+------------------------+
|指数:0 | 1 | 2 | 3|
+------------------------+
|值:| 1 | 2 | 3 |我假设您正在执行以下操作:
for line in file:
parts = line.split()
blah = line[2]
有些台词不存在这些废话
您可以检查列表的长度:
if len(parts) > 2:
blah = line[2]
else:
blah = "" # or whatever
如果没有任何示例代码,很难做到更精确,但这可能是一个快速简便的解决方案。在开始之前,您可以捕获异常并适当地处理它,而不是遍历所有数据:
try:
a = list[57]
except IndexError:
a = '-'
你在做什么同样的事?为什么要尝试从不存在的列中提取数据?如果我是你,我就不会那么做。。。(换句话说,你的问题写得很糟糕,很难理解。请重新写。)很感谢你提供了错误,但是没有样本数据,你很难弄清楚你在做什么什么?什么样的数据集?什么专栏?什么代码?什么输出文件?等待“>>>从pychic导入读取“ImportError:没有名为pychic的模块”。对不起,我更新了我的问题…很抱歉不,你已经更改了问题,但没有提供任何有用的信息。你是如何读取数据集的?什么Python代码?它们存储在什么中--数据类型,变量?通过提供示例代码,您可以轻松回答所有这些问题。
try:
a = list[57]
except IndexError:
a = '-'