【发布时间】:2020-04-28 10:44:54
【问题描述】:
编辑:我相信这都是用户错误。默认情况下,我一直在输入df.T,我突然想到这很可能是 TRANSPOSE 输出。通过输入df,数据框正常输出(标题作为列)。感谢那些站出来尝试和帮助的人。归根结底,只是我对pandas语言的误解。。
原帖
我不确定我是否犯了一个简单的错误,但 .csv 文件中的列正在使用 pd.read_csv 作为行导入。数据框原来是 5 行乘 2000 列。我只导入了 14 列中的 5 列,所以我设置了一个列表来保存我想要的列的名称。它们与 .csv 文件中的完全匹配。我在这里做错了什么?
import os
import numpy as np
import pandas as pd
fp = 'C:/Users/my/file/path'
os.chdir(fp)
cols_to_use = ['VCOMPNO_CURRENT', 'MEASUREMENT_DATETIME',
'EQUIPMENT_NUMBER', 'AXLE', 'POSITION']
df = pd.read_csv('measurement_file.csv',
usecols=cols_to_use,
dtype={'EQUIPMENT_NUMBER': np.int,
'AXLE': np.int},
parse_dates=[2],
infer_datetime_format=True)
输出:
0 ... 2603
VCOMPNO_CURRENT T92656 ... T5M247
MEASUREMENT_DATETIME 7/26/2018 13:04 ... 9/21/2019 3:21
EQUIPMENT_NUMBER 208 ... 537
AXLE 1 ... 6
POSITION L ... R
[5 rows x 2000 columns]
谢谢。
编辑:请注意,如果我使用标准 pd.read_csv('measurement_file.csv') 导入整个 .csv,则这些列会正确导入。
编辑 2:示例 csv:
VCOMPNO_CURRENT,MEASUREMENT_DATETIME,REPAIR_ORDER_NUMBER,EQUIPMENT_NUMBER,AXLE,POSITION,FLANGE_THICKNESS,FLANGE_HEIGHT,FLANGE_SLOPE,DIAMETER,RO_NUMBER_SRC,CL,VCOMPNO_AT_MEAS,VCOMPNO_SRC
T92656,10/19/2018 7:11,5653054,208,1,L,26.59,27.34,6.52,691.3,OPTIMESS_DATA,2MTA ,T71614 ,RO_EQUIP
T92656,10/19/2018 7:11,5653054,208,1,R,26.78,27.25,6.64,691.5,OPTIMESS_DATA,2MTA ,T71614 ,RO_EQUIP
T92656,10/19/2018 7:11,5653054,208,2,L,26.6,27.13,6.49,691.5,OPTIMESS_DATA,2MTA ,T71614 ,RO_EQUIP
T92656,10/19/2018 7:11,5653054,208,2,R,26.61,27.45,6.75,691.6,OPTIMESS_DATA,2MTA ,T71614 ,RO_EQUIP
T7L672,10/19/2018 7:11,5653054,208,3,L,26.58,27.14,6.58,644.4,OPTIMESS_DATA,2CTC ,T7L672 ,BOTH
T7L672,10/19/2018 7:11,5653054,208,3,R,26.21,27.44,6.17,644.5,OPTIMESS_DATA,2CTC ,T7L672 ,BOTH
【问题讨论】:
-
你能补充一下你的csv怎么样??
-
如何显示?显示部分 csv 文件。
-
无法重新创建。你能分享一个csv样本吗?
-
添加了文件示例。
-
尝试将这部分数据导出到CSV文件
df.to_csv(File name.csv),并检查文件,结果可能有助于猜测问题。
标签: python python-3.x pandas csv import