我有一个这样的 CSV 文件:
Time Latitude Longitude
2021-09-12 23:13 44.63 -63.56
2021-09-14 23:13 43.78 -62
2021-09-16 23:14 44.83 -54.6
Run Code Online (Sandbox Code Playgroud)
2021-09-12 23:13位于Time列下。
我想用 pandas 打开它。但第一列有问题。它包含一个空格。如果我使用以下命令打开它:
import pandas as pd
points = pd.read_csv("test.csv", delim_whitespace=True)
Run Code Online (Sandbox Code Playgroud)
我明白了
| 时间 | 纬度 | 经度 | |
|---|---|---|---|
| 2021-09-12 | 23:13 | 44.630 | -63.560 |
| 2021-09-14 | 23:13 | 43.780 | -62.000 |
| 2021-09-16 | 23:14 | 44.830 | -54.600 |
但我想跳过 CSV 中第一列的空格(2021-09-12 23:13应该在Time列下),例如:
| 时间 | 纬度 | 经度 | |
|---|---|---|---|
| 0 | 2021-09-12 23:13 | 44.630 | -63.560 |
| 1 | 2021-09-14 23:13 | 43.780 | -62.000 |
| 2 | 2021-09-16 23:14 | 44.830 | -54.600 |
使用时如何忽略第一个空格pd.read_csv?
请不要坚持使用此 csv 文件。这是一个要跳过(不将其视为分隔符)第一列中的第一个空格的一般问题。因为大家都知道第一个空格是时间值的一部分,而不是分隔符。
理想情况下,您应该将前两部分解析为日期时间。通过使用空格作为分隔符,这意味着标题具有三列。不过,日期后面的空格被视为额外的列。
解决方法是完全跳过标题并提供您自己的列名称。该parse_dates参数可用于告诉 Pandas 将前两列解析为单个组合日期时间对象。
例如:
import pandas as pd
points = pd.read_csv("test.csv", delimiter=" ",
skipinitialspace=True, skiprows=1, index_col=None,
parse_dates=[[0, 1]], names=["Date", "Time", "Latitude", "Longitude"])
print(points)
Run Code Online (Sandbox Code Playgroud)
应该给你以下数据框:
Date_Time Latitude Longitude
0 2021-09-12 23:13:00 44.63 -63.56
1 2021-09-14 23:13:00 43.78 -62.00
2 2021-09-16 23:14:00 44.83 -54.60
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1607 次 |
| 最近记录: |