如何读取带日期作为数据之一的csv文件?

时间:2016-08-01 12:59:24

标签: python csv pandas time-series

这些是我在excel和csv文件中的数据:

日期,时间,PRODUCT_TYPE 2015-01-02,02:29:45 PM,卡片

我已尝试过以下代码,它适用于excel文件,但不适用于CSV文件。

import numpy as np
import pandas as pd

df = pd.read_excel('file.xlsx')
print(df.head())

我在阅读csv文件时的代码与上面的代码几乎相同,但是我收到了一个错误。请帮忙。

import numpy as np
import pandas as pd
import datetime

df = pd.read_csv('file.csv', index_col='Date', parse_dates=True)
print(df.head())

错误消息: UnicodeDecodeError:'utf-8'编解码器无法解码位置2中的字节0xa4:无效的起始字节

2 个答案:

答案 0 :(得分:0)

我不确定您从文件中提取数据后计划对数据做什么,所以如果您需要不同的格式或某些内容让我知道。

我假设您将始终使用CSV来处理此代码。下面的代码只是打开你的文件,每行,用逗号分隔,并附加到一个列表(每个索引是一行代码),以便进行良好的组织。

File = open("Filename.csv","r")

Data = []
for lines in File:
    Data.append([lines.split(",")])
'[[Date,Time,Product Type, Date,Time,Cards],[Date2,,,],,,]

答案 1 :(得分:0)

我修改并删除了csv文件中的列名,并使用下面的代码。有用!

CSV文件数据

    2015-01-02,02:29:45 PM,Cards
    2015-01-02,05:16:15 PM,Cards
    2015-01-02,05:48:46 PM,Cards
    2015-01-02,03:18:34 PM,Cards
    2015-01-02,05:22:55 PM,Cards

我的代码:

df = pd.read_csv('datacsv.csv', sep=',', parse_dates=[0], header=None,
                         names=['Date', 'Time', 'Value'])

print (df.head())

  Date         Time  Value
0 2015-01-02  02:29:45 PM  Cards
1 2015-01-02  05:16:15 PM  Cards
2 2015-01-02  05:48:46 PM  Cards
3 2015-01-02  03:18:34 PM  Cards
4 2015-01-02  05:22:55 PM  Cards

感谢您的回复!