在 python 中导入 csv 文件时解析错误

Wrong parsing when importing csv file in python

我正在尝试导入 csv 格式的文件。这是报价交易数据信息。文件如下:

0,2017-09-18 02:00:06,12568.00,1,201,12567.00,12568.00,5462,0,0,C,
0,2017-09-18 02:00:06,12568.50,2,203,12567.00,12568.00,5463,0,0,C,
0,2017-09-18 02:00:06,12569.00,1,204,12567.00,12569.00,5468,0,0,C,
0,2017-09-18 02:00:06,12569.00,1,205,12567.00,12569.00,5470,0,0,C,
0,2017-09-18 02:00:06,12569.50,3,208,12567.00,12569.00,5471,0,0,C,

我正在使用这个 python 代码:

import pandas as pd
df = pd.read_csv("XG#/20170918.txt", names=['empty', 'date time', 'last', 'last size', 'bid', 'ask'])
print(df.head(1))

我的输出是这样的:

                empty  date time  last  \ 0 2017-09-18 02:00:06 12567.0 200.0 200.0 12567.0  12567.0     5430.0   0.0   

                                               last size bid  ask   0 2017-09-18 02:00:06 12567.0 200.0 200.0 12567.0        0.0   C  NaN 

Process finished with exit code 0

我的问题是:

  1. 为什么我的 "names" (headers) 没有从第一列开始?
  2. 如何将第 2 列设为 date-time 和索引?
  3. 如何扩大结果以便在一行中看到所有数据(我使用的是 pycharm)?因为我需要将 date-time 作为索引,所以我需要删除第 0 列,但是当使用 df.drop(df.index[0]) 时没有任何反应。

欢迎任何帮助!

有 10 列,你有 6 列的名称,所以代码应该是这样的:

df = pd.read_csv('lol.csv',usecols = list(range(0,6)),names=['empty', 'date_time', 'last', 'last_size', 'bid', 'ask'])

我使用了前 6 列,请理解以下示例并命名您想要的列。

usecols is where you put a list of your column numbers which you want it to be named.

for eg :如果你想将 col 1,3,4 命名为 name,gender,address 那么代码看起来像

pd.read_csv('lol.csv',usecols = [1,3,4],names=['name','gender','address'])

for the third question

df = pd.read_csv('lol.csv',usecols = list(range(0,6)),names=['empty','date_time', 'last', 'last_size', 'bid', 'ask'],index_col = 'date_time' ) 

您可以使用 index_col 参数来告知将哪一列用作索引。

to drop a column after you import an csv in variable (for eg: df ) using pandas, use the following code:

df.drop('empty', axis=1, inplace=True)