首页 > 解决方案 > 如何使用 Python 将 csv 数据解析为表格

问题描述

我有 csv 文件,想用它的值制作表格。这是数据的样子:

在此处输入图像描述

我希望结果是这样的:

在此处输入图像描述

这是对我不起作用的自动解析代码:

import pandas as pd
data = pd.read_csv('time series practice.csv' index_col= 'Date', parse_dates=<strong>True</strong>)

任何人都可以帮忙吗?

标签: pythonparsing

解决方案


littletable 可以很容易地读写 CSV,占用空间比 pandas 小得多(如果您空间有限,或者对 pandas 不熟悉):

import littletable as lt
from datetime import datetime

transforms={"date": lambda s: datetime.strptime(s, "%m/%d/%Y %H:%M"),
            "Fremont Bridge West Sidewalk": float,
            "Fremont Bridge East Sidewalk": float}

# data = lt.Table().csv_import("time_series_practice.csv",
#                              transforms=transforms)
data = lt.Table().csv_import("""\
date,Fremont Bridge West Sidewalk,Fremont Bridge East Sidewalk
10/3/2012 0:00,4,9
10/3/2012 1:00,4,6
10/3/2012 2:00,1,1
10/3/2012 3:00,2,3
10/3/2012 4:00,6,1
10/3/2012 5:00,21,10
10/3/2012 6:00,105,50
10/3/2012 7:00,257,95
10/3/2012 8:00,291,146
10/3/2012 9:00,172,104
""", transforms=transforms)

data.present()

印刷:

  Date                  Fremont Bridge West Sidewalk   Fremont Bridge East Sidewalk 
 ───────────────────────────────────────────────────────────────────────────────────
  2012-10-03 00:00:00                            4.0                            9.0
  2012-10-03 01:00:00                            4.0                            6.0
  2012-10-03 02:00:00                            1.0                            1.0
  2012-10-03 03:00:00                            2.0                            3.0
  2012-10-03 04:00:00                            6.0                            1.0
  2012-10-03 05:00:00                           21.0                           10.0
  2012-10-03 06:00:00                          105.0                           50.0
  2012-10-03 07:00:00                          257.0                           95.0
  2012-10-03 08:00:00                          291.0                          146.0
  2012-10-03 09:00:00                          172.0                          104.0

[免责声明:我是littletable的作者。]


推荐阅读