我有一个CSV文件,其中Country
列包含国家代码。在这种情况下;NA";指北美。我需要将其转换为UTF-8格式。当使用具有"0"的行下面的代码时;NA";在导出的文件中显示为空白:
df = pd.read_csv(filepath, encoding='UTF-8')
df.to_csv(r'path+filename',header=None ,encoding = 'UTF-8', index = False)
例如,
输入文件:
Week Country PL Sales$
W01 AE 0I 250
W02 NA 0I 130
输出文件:
Week Country PL Sales$
W01 AE 0I 250
W02 0I 130
我已经尝试用"来填充源文件中的其他列;NA";现在也是空白。
'NA'
是na_values
中默认的NaN
值之一。使用pd.read_csv()
:读取csv文件时,需要指示panda排除默认值
keep_default_na:bool,默认True
解析数据时是否包括默认的
NaN
值。取决于传入na_values
,行为如下:如果
keep_default_na
是True
,并且指定了na_values
,则na_values
是附加到用于解析的默认CCD_ 12值。如果
keep_default_na
是True
,并且未指定na_values
,则只有默认的CCD_ 16值用于解析。如果
keep_default_na
是False
,并且指定了na_values
,则只有NaN
指定的CCD_ 21的值用于解析。如果
keep_default_na
是False
,并且未指定na_values
,则否字符串将被解析为CCD_ 25。注意,如果
na_filter
作为False
传入,则keep_default_na
和na_values
参数将被忽略。
这应该可以做到:
df = pd.read_csv(filepath, encoding='UTF-8', keep_default_na=False)
根据您想要执行的其他操作,您可能还需要相应地定义na_values
。