Python 用值替换空单元格

Python 用值替换空单元格,python,pandas,Python,Pandas,我有一个csv文件,看起来像这样 col1,col2,col3,col4,col5 value1,value2,value3,value4,value5 ,,value6,value7,value8 ,,value10,value11,value12 import pandas as pd data = pd.read_csv(file).fillna('yellow', 'blue') 我需要在空单元格中插入值 我是这样读熊猫的数据的 col1,col2,col3,col4,co

我有一个csv文件,看起来像这样

col1,col2,col3,col4,col5

value1,value2,value3,value4,value5

,,value6,value7,value8

,,value10,value11,value12
import pandas as pd

data = pd.read_csv(file).fillna('yellow', 'blue') 
我需要在空单元格中插入值

我是这样读熊猫的数据的

col1,col2,col3,col4,col5

value1,value2,value3,value4,value5

,,value6,value7,value8

,,value10,value11,value12
import pandas as pd

data = pd.read_csv(file).fillna('yellow', 'blue') 
有什么建议吗

更新: 这个错误被解决了 我的csv中存在编辑错误的行。 主要问题是如何将自定义值写入空单元格

预期结果

col1,col2,col3,col4,col5

value1,value2,value3,value4,value5

yellow,blue,value6,value7,value8

yellow,blue,value10,value11,value12
实际结果

col1,col2,col3,col4,col5

value1,value2,value3,value4,value5

NaN,NaN,value6,value7,value8

NaN,NaN,value10,value11,value12
初始问题->已解决

我遇到了这样的错误:

pandas.errors.ParserError: Error tokenizing data. C error: Expected 5 fields in line 3, saw 6
,value6,value7,value8,value9

第3行和第4行中有两个空列。因此,它有6列,但有5个标题。只需删除第一个逗号,如下所示:

pandas.errors.ParserError: Error tokenizing data. C error: Expected 5 fields in line 3, saw 6
,value6,value7,value8,value9
对于第二个问题,您可以尝试以下方法:

df['col1'] = df['col1'].fillna('yellow')

第3行和第4行中有两个空列。因此,它有6列,但有5个标题。只需删除第一个逗号,如下所示:

pandas.errors.ParserError: Error tokenizing data. C error: Expected 5 fields in line 3, saw 6
,value6,value7,value8,value9
对于第二个问题,您可以尝试以下方法:

df['col1'] = df['col1'].fillna('yellow')

csv文件的最上面一行(如果包含标题)将决定数据中的列数。因为你有5个标题

第1列、第2列、第3列、第4列、第5列

csv读卡器希望在随后的每一行数据中有5列。因此,csv中的第3行和第4行无效,无法被csv阅读器读取


例如,value6、value7、value8、value9共有6列。

csv文件的最顶层行,如果包含标题,它将确定数据中的列数。因为你有5个标题

第1列、第2列、第3列、第4列、第5列

csv读卡器希望在随后的每一行数据中有5列。因此,csv中的第3行和第4行无效,无法被csv阅读器读取

例如,value6、value7、value8、value9总共有6列。

这就是我需要的

data = pd.read_csv(file)
hello = data.append({'col1': yello, 'col2': 'blue'}, ignore_index=True)
现在我需要将它再次写入文件。

这就是我需要的

data = pd.read_csv(file)
hello = data.append({'col1': yello, 'col2': 'blue'}, ignore_index=True)

现在我需要再次将其写入文件。

您有5列,在第5行有6个值,因此它抛出错误,您有5列,在第5行有6个值,因此它抛出错误。那很容易。我太专注于填充空单元格,以至于错过了计数。那么,如何在空单元格中写入值呢?我所拥有的不起作用。它将替换为NAN而不是value@Scilla怎么样?基于专栏?是的,你能再读一遍我的帖子吗?我刚刚更新了it@Scilla好的,我也更新了我的答案。就像这样,只需选择列名并对其应用函数即可。哈哈。那很容易。我太专注于填充空单元格,以至于错过了计数。那么,如何在空单元格中写入值呢?我所拥有的不起作用。它将替换为NAN而不是value@Scilla怎么样?基于专栏?是的,你能再读一遍我的帖子吗?我刚刚更新了it@Scilla好的,我也更新了我的答案。像这样,只需选择列名并对其应用函数。