在PyCharm中读取分号分隔CSV为Dataframe的格式异常问题
解决PyCharm中pandas读取CSV未按分隔符拆分的问题
问题现象
在Jupyter Notebooks和Spyder中能正常读取并以表格展示的CSV文件,在PyCharm中用pandas的read_csv方法读取后,所有数据挤在一列里,终端输出显示[4521 rows x 1 columns],每行保留分号和双引号,无法按预期拆分列。
使用的代码:
import pandas as pd print("~"*50) see = pd.read_csv(r"C:\Users\HP\pythonProject\Modulo6\bank.csv ", sep=";") print(see)
原始CSV数据样本:
age;"job";"marital";"education";"default";"balance";"housing";"loan";"contact";"day";"month";"duration";"campaign";"pdays";"previous";"poutcome";"y" 30;"unemployed";"married";"primary";"no";1787;"no";"no";"cellular";19;"oct";79;1;-1;0;"unknown";"no"
问题原因
- CSV的列名和字段值均被双引号包裹,pandas默认的引号解析规则未适配该格式,导致分号分隔符未被正确识别。
- 文件路径末尾存在多余空格,属于不规范写法,可能引发潜在读取异常。
解决方法
方法1:指定引号解析字符
修改read_csv参数,明确指定quotechar='"'让pandas识别双引号为字段包裹符,同时移除路径末尾空格:
import pandas as pd print("~"*50) see = pd.read_csv(r"C:\Users\HP\pythonProject\Modulo6\bank.csv", sep=";", quotechar='"') print(see)
方法2:指定全引号解析模式
使用quoting=pd.QUOTE_ALL参数,强制pandas解析所有被双引号包裹的字段:
import pandas as pd print("~"*50) see = pd.read_csv(r"C:\Users\HP\pythonProject\Modulo6\bank.csv", sep=";", quoting=pd.QUOTE_ALL) print(see)
执行上述修改后,pandas即可正确拆分列,在PyCharm终端中以表格形式展示CSV数据。
内容的提问来源于stack exchange,提问作者José Siles Blanco
相关产品推荐
相关产品推荐

