求助:在Google Colab中用Python读取法语CSV文件解析异常
解决CSV读取内容集中在一列的问题
问题原因
你使用的GitHub链接是文件的网页展示地址,而非原始CSV文件的直接下载链接,pandas读取网页HTML内容时无法正确解析为CSV格式,导致所有内容被塞进单一列,其余列显示NaN。
解决方案步骤
- 获取原始CSV链接:在GitHub的文件页面点击「Raw」按钮,得到原始文件地址:
https://raw.githubusercontent.com/LeGentilHomme/CSV-FILE/4b69985482e59906b64a540b9c0d0a7fce31a37e/exportIndicateurs(7).csv - 读取并转置数据:由于你的数据是变量在行、日期在列,读取后需要转置来得到常规的时间序列格式(日期为行,变量为列)。
完整代码
import pandas as pd # 使用原始CSV链接读取数据 df = pd.read_csv( "https://raw.githubusercontent.com/LeGentilHomme/CSV-FILE/4b69985482e59906b64a540b9c0d0a7fce31a37e/exportIndicateurs(7).csv", delimiter=';', header=1, encoding='latin-1' ) # 转置数据,将日期设为索引,变量设为列 df_transposed = df.set_index(df.columns[0]).T df_transposed.index = pd.to_datetime(df_transposed.index) # 将日期列转为datetime类型 df_transposed
代码说明
- 替换为原始链接后,pandas能正确读取CSV的分号分隔内容
set_index(df.columns[0])将第一列(变量名)设为索引,再通过.T转置表格pd.to_datetime将转置后的索引(原日期列)转为时间类型,方便后续时间序列分析
内容的提问来源于stack exchange,提问作者Prototype51
相关产品推荐
相关产品推荐

