我正在try 读取一个带有测量值的时间序列的CSV.我遇到的问题是时间戳遗漏了从测量系统提取的00:00的时间.

下面是一个CSV文件的摘录:

Time    NS          Status  u12 u23 u31 p1  q1
27.12.2023 23:30:00 0   0   20854,6 20482,8 20706,1 7599130 -2050710
27.12.2023 23:40:00 0   0   20882,8 20510,9 20728,6 7494070 -2078320
27.12.2023 23:50:00 0   0   20819,2 20448,5 20674,7 7672400 -1929610
28.12.2023          0   0   20792,9 20413,2 20645,9 7565910 -1942710
28.12.2023 00:10:00 0   0   20768,6 20368,6 20613,4 7174330 -2002890

我用了:

df = pd.read_csv('C:/Python/Input/measured_values.csv',
                 sep = '\t', decimal=',',
                 skiprows=1, encoding='unicode_escape',
                 parse_dates=['Time'], dayfirst=True)
  • 我try 了parse_dates函数中的不同参数来解决这个问题
  • 我还try 创建一个新的时间戳,增加时间序列的开始和结束之间的时间—这并不简单,因为我必须注意时间的变化

是否有一个简单有效、健壮的解决方案来读取这种CSV并将列时间声明为datetime64 [ns]?

推荐答案

你可以try 通过date_format='mixed',并且可能应该删除skiprows=1:

df = pd.read_csv(filename, sep='\t', decimal=',', encoding='unicode_escape',
                 parse_dates=['Time'], dayfirst=True, date_format='mixed')

print(df)
                 Time  NS          Status      u12      u23      u31       p1       q1
0 2023-12-27 23:30:00   0               0  20854.6  20482.8  20706.1  7599130 -2050710
1 2023-12-27 23:40:00   0               0  20882.8  20510.9  20728.6  7494070 -2078320
2 2023-12-27 23:50:00   0               0  20819.2  20448.5  20674.7  7672400 -1929610
3 2023-12-28 00:00:00   0               0  20792.9  20413.2  20645.9  7565910 -1942710
4 2023-12-28 00:10:00   0               0  20768.6  20368.6  20613.4  7174330 -2002890

print(df.dtypes)
Time              datetime64[ns]
NS                         int64
        Status             int64
u12                      float64
u23                      float64
u31                      float64
p1                         int64
q1                         int64
dtype: object

Python相关问答推荐

如何自动抓取以下CSV

我从带有langchain的mongoDB中的vector serch获得一个空数组

Python json.转储包含一些UTF-8字符的二元组,要么失败,要么转换它们.我希望编码字符按原样保留

无法定位元素错误404

如何在Python中找到线性依赖mod 2

python中的解释会在后台调用函数吗?

Python列表不会在条件while循环中正确随机化'

在matplotlib中删除子图之间的间隙_mosaic

如何在Python中使用Pandas将R s Tukey s HSD表转换为相关矩阵''

将scipy. sparse矩阵直接保存为常规txt文件

如何杀死一个进程,我的Python可执行文件以sudo启动?

Python—转换日期:价目表到新行

合并与拼接并举

人口全部乱序 - Python—Matplotlib—映射

为什么调用函数的值和次数不同,递归在代码中是如何工作的?

python sklearn ValueError:使用序列设置数组元素

不允许 Select 北极滚动?

Python类型提示:对于一个可以迭代的变量,我应该使用什么?

try 使用RegEx解析由标识多行文本数据的3行头组成的日志(log)文件

牛郎星直方图中分类列的设置顺序