我有一个很大的csv,列中包含数字,前面是零,结尾是a。
看上去..。
TC_NUM
0101.0001.
0101.0002.
0101.0003.我想让它看起来像..。
TC_NUM
0101.0001
0101.0002
0101.0003我的代码:
df3['TC_NUM'] = df3['TC_NUM'].astype(str).str[:-1]和错误的输出我的代码。
TC_NUM
101.0001
101.0002
101.0003
101.0004
101.0005使用涡流修正..。
df4 = pd.read_csv('output2.csv', dtype=object, index_col=0)
print df4.head()
df4['TC_NUM'] = df4['TC_NUM'].str[:-1]它打印正确..。
0 dialog_testcase_0101.0001_greeting.xml 0101.0001
1 dialog_testcase_0101.0002_greeting.xml 0101.0002
2 dialog_testcase_0101.0003_greeting.xml 0101.0003
3 dialog_testcase_0101.0004_greeting.xml 0101.0004
4 dialog_testcase_0101.0005_greeting.xml 0101.0005但是用这个
df4['TC_NUM'] = df4['TC_NUM'].str[:-1]
print df4.head
df4.to_csv('output2.csv', dtype=object,index_col=0)得到的csv输出是..。
0 dialog_testcase_0101.0001_greeting.xml 101.0001
1 dialog_testcase_0101.0002_greeting.xml 101.0002
2 dialog_testcase_0101.0003_greeting.xml 101.0003
3 dialog_testcase_0101.0004_greeting.xml 101.0004因此遗漏了开头0。
发布于 2016-02-16 19:44:23
您需要将其作为str读入,然后才能将其切片:
In [11]:
t="""TC_NUM
0101.0001.
0101.0002.
0101.0003."""
df = pd.read_csv(io.StringIO(t), dtype=object)
df
Out[11]:
TC_NUM
0 0101.0001.
1 0101.0002.
2 0101.0003.
In [13]:
df['TC_NUM'] = df['TC_NUM'].str[:-1]
df
Out[13]:
TC_NUM
0 0101.0001
1 0101.0002
2 0101.0003发布于 2016-02-17 14:27:18
经过大量的编码和键盘攻击,我终于找到了答案。在打印输出时,代码是正确的,但开放的office自然会从列中删除前导零。解决办法是把这些数字放进“”,这样开放的办公室就能让它完好无损。谢谢大家的帮助!
https://stackoverflow.com/questions/35441558
复制相似问题