【问题标题】:Wrong parsing when importing csv file in python在python中导入csv文件时解析错误
【发布时间】:2018-05-27 11:31:38
【问题描述】:

我正在尝试导入 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 

进程以退出代码 0 结束

我的问题是:

  1. 为什么我的“名称”(标题)没有从第一列开始?
  2. 如何将第二列设为日期时间和索引?
  3. 如何扩大结果,以便在一行中看到所有数据(我使用的是 pycharm)?因为我需要将日期时间作为索引,所以我需要删除第 0 列,但使用 df.drop(df.index[0]) 时没有任何反应。

欢迎任何帮助!

【问题讨论】:

  • 能否正确粘贴您的数据?还是您的所有数据都在一行中开始?
  • 这是我正在使用的所有代码。 csv 文件很大,我在这里只添加了前几行
  • 我想说的是它没有正确粘贴。我看不到单独的行。
  • 试试这个:print(df.head(5).to_dict()) 并将其粘贴到您的问题中。
  • 实际上,更重要的是,请在文本编辑器中打开您的 CSV 文件,然后将前 5 行完全粘贴到您的问题中。

标签: python pandas csv pycharm pandas-datareader


【解决方案1】:

有 10 列,您有 6 列的名称,因此代码应如下所示:

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

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

usecols 是您放置列号的列表,您希望它被命名

例如:如果您希望将 col 1,3,4 命名为姓名,性别,地址,那么代码将如下所示

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

第三个问题

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 参数来告诉将哪一列用作索引。

删除一列 使用 pandas 在变量中导入 csv(例如: df )后,使用以下代码:

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

【讨论】:

  • 谢谢!您能否参考我的第三个问题以及 df.drop(columns=['empty']) 对我不起作用
猜你喜欢
  • 1970-01-01
  • 2022-11-03
  • 2018-01-25
  • 2019-04-24
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 2018-10-08
  • 2016-08-14
相关资源
最近更新 更多