使用Pandas读取CSV列转列表时仅识别1列的问题如何解决
问题原因
CSV列识别异常是因为pandas.read_csv()默认使用**逗号(,)**作为列分隔符,若当前CSV文件使用其他符号(制表符、分号、空格等)作为列分隔,就会把整行内容识别为单列。
解决方案
1. 确认CSV实际分隔符
使用记事本直接打开CSV文件,查看两列内容之间的分隔符号,常见分隔符类型如下:
- 制表符(Tab,显示为大段空白间隔)
- 分号(;)
- 竖线(|)
- 单个/多个连续空格
2. 指定分隔符读取文件
在read_csv中通过sep参数传入实际分隔符即可,常见场景的代码示例如下:
分隔符为制表符
from pandas import read_csv # 明确指定分隔符为制表符 data = read_csv("newCSV Report.csv", sep="\t")
分隔符为分号
data = read_csv("newCSV Report.csv", sep=";")
分隔符为任意空白字符(空格/制表符混合)
如果列之间是任意数量的空格或制表符分隔,可使用正则匹配自动识别:
data = read_csv("newCSV Report.csv", sep="\s+")
额外适配项
如果调整分隔符后仍有表头识别异常,可增加header=0参数明确指定第一行为表头行:
data = read_csv("newCSV Report.csv", sep="你的实际分隔符", header=0)
3. 验证修复效果
修改完成后执行print(data.columns)打印所有识别到的列名,确认Computer Name和Computer Current User都被正确识别后,再执行后续转列表的逻辑即可。
内容的提问来源于stack exchange,提问作者Nicolò Vitelli
相关产品推荐
相关产品推荐

