Pandas读取CSV文件列识别异常,与Excel导入结果不符求助
解决pandas读取CSV列识别错误的方案
针对你遇到的问题,以下是几个可尝试的具体解决方法:
切换解析引擎:pandas默认的C引擎在处理带引号或复杂格式的CSV时易出错,改用Python引擎适配更多场景:
import pandas as pd import csv dataframe = pd.read_csv( st.session_state.uploaded_file, delimiter=';', engine='python', quoting=csv.QUOTE_ALL # 适配字段被引号包裹的情况 )查看原始文件内容:直接读取文件原始文本,确认实际分隔符、换行符或字段格式问题:
if uploaded_file: st.session_state.uploaded_file = uploaded_file # 读取前5行原始内容,显示隐藏字符 raw_content = uploaded_file.getvalue().decode('utf-8').splitlines()[:5] st.write("原始文件前5行:") for line in raw_content: st.write(repr(line)) # 重置文件指针至开头 uploaded_file.seek(0) try: dataframe = pd.read_csv(uploaded_file, delimiter=';', engine='python') st.write(dataframe.head()) st.session_state.dataframe = dataframe except pd.errors.ParserError: st.write("文件读取错误")指定换行符:如果文件是Windows格式(
\r\n)或其他非标准换行符,显式声明:dataframe = pd.read_csv( st.session_state.uploaded_file, delimiter=';', lineterminator='\r\n' )忽略字段前空格:若字段后带有空格导致解析错位,开启空格忽略:
dataframe = pd.read_csv( st.session_state.uploaded_file, delimiter=';', skipinitialspace=True )
内容的提问来源于stack exchange,提问作者Aleksander Langlie
相关产品推荐
相关产品推荐

