You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UTF-16转UTF-8后pandas读取CSV列合并问题求助

解决pandas读取CSV时列合并的问题

你的问题核心在于两个点:一是数据的分隔符不是pandas默认的逗号,二是UTF-16转UTF-8后可能存在的BOM(字节顺序标记)干扰了读取逻辑。咱们一步步来修复:

1. 指定正确的分隔符

从你给出的示例来看,数据是用**空格(或多个空格/制表符)**分隔的,但pd.read_csv()默认以逗号作为分隔符,这就导致整行被识别成单一列。你需要明确指定分隔符参数:

  • 如果是单个空格分隔:用sep=' '
  • 如果是多个空格或制表符(更常见的情况):用sep='\s+'(匹配任意数量的空白字符)

示例代码:

import pandas as pd
df = pd.read_csv('Values.csv', sep='\s+')

2. 处理UTF-8 BOM(如果存在)

用Notepad++将UTF-16转UTF-8时,有时会自动给文件加上UTF-8 BOM,这会导致pandas读取时第一列列名前出现奇怪的隐藏字符,甚至影响列的识别。这种情况下,需要指定编码为utf-8-sig:

df = pd.read_csv('Values.csv', sep='\s+', encoding='utf-8-sig')

验证效果

运行上述代码后,你应该能得到和原文件一致的列结构:

TimeVoltageTemp.
051025
161326
271730

如果还是有问题,可以先手动打开文件确认两点:

  • 数据确实是用空格/制表符分隔,而非逗号
  • 文件开头没有奇怪的隐藏字符(这就是BOM的典型表现)

内容的提问来源于stack exchange,提问作者falo8056

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 12:04:08