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

Python读取含source、target、genre_ids三列的CSV文件问题

解决方案

问题根源

你的代码存在几个关键错误,导致读取后只有一列且拆分失败:

  • 错误指定了分隔符delimiter=';;',但你的edges1.csv实际是用逗号分隔字段
  • 多余设置了header=None和skiprows=1,这会忽略原文件的表头行,且代码中未定义columns变量
  • pd.concat语法错误:axis==1是布尔判断表达式,正确参数应为axis=1;同时rename的columns:=写法不符合Python语法规范

正确读取方式

你的csv文件是标准的逗号分隔格式,直接用pd.read_csv默认参数即可完成读取,无需额外拆分操作:

import pandas as pd

# 直接读取,pandas会自动识别表头和逗号分隔符
df = pd.read_csv('edges1.csv', encoding="ISO-8859-1")
print(df)

运行后会直接得到你期望的DataFrame:

source target  genre_ids
0       apple  green         21
1  strawberry    red         23
...

特殊场景的拆分方案(若确实需要拆分单列)

如果因特殊原因读取后仅存在一列(比如文件分隔符异常),可以用以下正确的拆分方式:

import pandas as pd

# 模拟错误读取后仅存一列的情况
df = pd.read_csv('edges1.csv', encoding="ISO-8859-1", delimiter=';;', header=None, skiprows=1)

# 拆分单列并指定列名
split_df = df.iloc[:, 0].str.split(',', expand=True)
split_df.columns = ['source', 'target', 'genre_ids']

print(split_df)

这种方式无需使用pd.concat,直接给拆分后的DataFrame指定列名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:15:31