pandas read_csv忽略最后一列中的分隔符

2024-09-30 14:18:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个具有以下结构的文件(第一行是标题,文件名是test.dat):

ID_OBS          LAT     LON     ALT TP TO LT_min LT_max STATIONNAME
ALT_NOA_000   82.45  -62.52   210.0 FM  0    0.0   24.0 Alert, Nunavut, Canada

如何指示pandas将整个站点名称(在本例中,Alert,Nunavut,Canada)作为一个单个元素来读取?我在代码中使用delim_whitespace=True,但这行不通,因为电台名称包含空格字符。在

运行:

^{pr2}$

产生:

                   ID_OBS    LAT LON  ALT   TP    TO  LT_min    LT_max STATIONNAME
ALT_NOA_000 82.45  -62.52  210.0  FM    0  0.0  24.0  Alert,  Nunavut,      Canada

快速阅读教程没有帮助。我错过了什么?在


Tags: toltidalertminaltmaxlon
2条回答

粘贴的示例文件有点含糊不清:例如,无法通过肉眼判断看起来像几个空格的内容是否是制表符。在

不过,一般来说,请注意,普通的老Python比Pandas或CSV模块(Pandas的优势是elsewhere)更具表现力。E、 g.甚至还有用于递归下降解析器的Python模块,这显然是Pandas所缺少的。您可以使用常规Python将文件处理成更容易解析的形式。例如:

^{1}$

将分隔符更改为'@',例如,如果您写回一个文件,则可以使用delimiter='@'进行解析。在

我经常通过编写自己的小解析器来处理这些问题。一般来说,有一些方法可以让熊猫顺从你的意愿,但我发现这种方法通常更容易:

代码:

^{1}$

结果:

^{pr2}$

相关问题 更多 >