如何导入CSV数据生成单列DataFrame,避免符号被识别为分隔符?
解决方案
你可以通过以下几种方式强制将文件读取为单列,避免特殊符号被识别为分隔符:
- 给
pd.read_csv指定无法匹配的分隔符正则,强制整行作为单列内容
该方法不需要改动其他参数,兼容性最好:
你也可以把# sep的正则规则永远不会匹配到任何字符,整行都会被识别为同一列 df = pd.read_csv("words.csv", sep=r'\A(?!)', engine='python', names=['content'], header=None)sep替换为你确认文本中完全不会出现的字符串(比如sep='||||||'),达到一样的效果。 - 使用固定宽度读取函数
pd.read_fwf
该函数默认不会按分隔符拆分内容,专门适配无分隔符、仅需按行读取的场景:df = pd.read_fwf("words.csv", header=None, names=['content']) - 原生读取后转DataFrame
如果上述方法都不生效,可以直接用Python原生方法读取所有行再转成DataFrame,不会触发任何自动拆分逻辑:with open("words.csv", "r", encoding="utf-8") as f: lines = f.read().splitlines() df = pd.DataFrame(lines, columns=['content'])
注意事项
你代码里的路径"\words.csv"如果是Windows系统下的本地路径,需要注意转义:要么用正斜杠"/words.csv",要么加r标记原始字符串r"\words.csv",避免路径转义导致读取文件失败。
内容的提问来源于stack exchange,提问作者Utopion
相关产品推荐
相关产品推荐

