使用pandas读取csv文件取值时出现.1后缀的原因是什么
问题原因
- 你调用
pd.read_csv()时没有指定header参数,pandas默认会把文件的第一行内容识别为表头(列名)。 - 你的test.csv只有一行内容
1,1,1,1,4个值完全重复,pandas为了避免列名重复冲突,会自动给重复出现的列名加.N后缀,第二个重复的1后缀为.1,第四个重复的1后缀也为.1,最终列名就变成了1,1.1,1,1.1,这就是.1后缀的来源。
修正方案
如果你要把文件里的内容加载为数据而非列名,读取文件时加上header=None参数,再取第一行的值即可,示例代码如下:
import pandas as pd # header=None 表示文件没有表头,所有行都按数据读取 ch_file = pd.read_csv("test.csv", header=None) ch1_value = ch_file.iloc[0, 0] ch2_value = ch_file.iloc[0, 1] ch3_value = ch_file.iloc[0, 2] ch4_value = ch_file.iloc[0, 3] print(ch1_value, ch2_value, ch3_value, ch4_value)
运行后输出结果为1 1 1 1,符合预期。
内容的提问来源于stack exchange,提问作者sshifeed
相关产品推荐
相关产品推荐

