Python:使用pandas打开txt时保持前导零

Python:使用pandas打开txt时保持前导零,python,pandas,dataframe,text-files,leading-zero,Python,Pandas,Dataframe,Text Files,Leading Zero,我有这个txt文件: Tu 11:44:00 119 52913161 DETECTOR STATE 0001 Tu 11:44:00 119 52913161 DETECTOR STATE 1100 Tu 11:44:02 119 52913161 DETECTOR STATE 0000 Tu 11:44:02 119 52913161 DETECTOR STATE 1110 Tu 11:44:04 119 52913161 DETECTOR STATE 0000 Tu 11:44:04 11

我有这个txt文件:

Tu 11:44:00 119 52913161 DETECTOR STATE 0001
Tu 11:44:00 119 52913161 DETECTOR STATE 1100
Tu 11:44:02 119 52913161 DETECTOR STATE 0000
Tu 11:44:02 119 52913161 DETECTOR STATE 1110
Tu 11:44:04 119 52913161 DETECTOR STATE 0000
Tu 11:44:04 119 52913161 DETECTOR STATE 0011
我使用以下代码在Python(Jupyter笔记本)中打开它:

import pandas as pd
data= pd.read_csv('EXPORT20171205114501_1.txt', sep=" ", header=None)
data.columns = ["day", "time", "street", "sensor", "type", "state", "bits"]
我得到这个输出:

    day time    street  sensor  type    state   bits
0   Tu  11:44:00    119 52913161    DETECTOR    STATE      1
1   Tu  11:44:00    119 52913161    DETECTOR    STATE   1100
2   Tu  11:44:02    119 52913161    DETECTOR    STATE      0
3   Tu  11:44:02    119 52913161    DETECTOR    STATE   1110
4   Tu  11:44:04    119 52913161    DETECTOR    STATE      0
5   Tu  11:44:04    119 52913161    DETECTOR    STATE     11
如何保持前导零

我尝试了以下选项:

 data = pd.read_csv('EXPORT20171205114501_1.txt', sep=" ", header=None, dtype={'column': object}) 


 data = pd.read_csv('EXPORT20171205114501_1.txt', sep=" ", header=None).astype(str)


 data = pd.read_csv('EXPORT20171205114501_1.txt', sep=" ", header=None, converters={'ColName': str})

以上选项都不起作用。我已将熊猫更新到最新版本。有什么想法吗?

通过列表为列名称使用参数名称,然后可以通过
dtype
使用
字典定义要解析到
字符串的列:

names = ["day", "time", "street", "sensor", "type", "state", "bits"]
df = pd.read_csv('EXPORT20171205114501_1.txt', sep="\s+", names=names, dtype={'bits':str})
print (df)
  day      time  street    sensor      type  state  bits
0  Tu  11:44:00     119  52913161  DETECTOR  STATE  0001
1  Tu  11:44:00     119  52913161  DETECTOR  STATE  1100
2  Tu  11:44:02     119  52913161  DETECTOR  STATE  0000
3  Tu  11:44:02     119  52913161  DETECTOR  STATE  1110
4  Tu  11:44:04     119  52913161  DETECTOR  STATE  0000
5  Tu  11:44:04     119  52913161  DETECTOR  STATE  0011
如果需要所有列作为字符串:

names = ["day", "time", "street", "sensor", "type", "state", "bits"]
df = pd.read_csv('EXPORT20171205114501_1.txt', sep="\s+", names=names, dtype=str)
print (df)
  day      time  street    sensor      type  state  bits
0  Tu  11:44:00     119  52913161  DETECTOR  STATE  0001
1  Tu  11:44:00     119  52913161  DETECTOR  STATE  1100
2  Tu  11:44:02     119  52913161  DETECTOR  STATE  0000
3  Tu  11:44:02     119  52913161  DETECTOR  STATE  1110
4  Tu  11:44:04     119  52913161  DETECTOR  STATE  0000
5  Tu  11:44:04     119  52913161  DETECTOR  STATE  0011

按列表为列名称使用参数名称,然后可以通过
dtype
参数和
字典定义要解析到
字符串的列:

names = ["day", "time", "street", "sensor", "type", "state", "bits"]
df = pd.read_csv('EXPORT20171205114501_1.txt', sep="\s+", names=names, dtype={'bits':str})
print (df)
  day      time  street    sensor      type  state  bits
0  Tu  11:44:00     119  52913161  DETECTOR  STATE  0001
1  Tu  11:44:00     119  52913161  DETECTOR  STATE  1100
2  Tu  11:44:02     119  52913161  DETECTOR  STATE  0000
3  Tu  11:44:02     119  52913161  DETECTOR  STATE  1110
4  Tu  11:44:04     119  52913161  DETECTOR  STATE  0000
5  Tu  11:44:04     119  52913161  DETECTOR  STATE  0011
如果需要所有列作为字符串:

names = ["day", "time", "street", "sensor", "type", "state", "bits"]
df = pd.read_csv('EXPORT20171205114501_1.txt', sep="\s+", names=names, dtype=str)
print (df)
  day      time  street    sensor      type  state  bits
0  Tu  11:44:00     119  52913161  DETECTOR  STATE  0001
1  Tu  11:44:00     119  52913161  DETECTOR  STATE  1100
2  Tu  11:44:02     119  52913161  DETECTOR  STATE  0000
3  Tu  11:44:02     119  52913161  DETECTOR  STATE  1110
4  Tu  11:44:04     119  52913161  DETECTOR  STATE  0000
5  Tu  11:44:04     119  52913161  DETECTOR  STATE  0011

你可以在导入后修复它们吗?我如何在@supersew自动修复它们?你可以在导入后修复它们吗?我如何在@supersew自动修复它们?