我有一个大的csv,其列包含前面带零的数字,结尾有一个。
看起来像..
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
使用edchums修复..
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
答案 0 :(得分:3)
您需要将其作为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
答案 1 :(得分:0)
经过多次编码和键盘攻击后,我终于弄明白了。输出打印时代码是正确的,但是开放式办公室自然地从列中删除前导零。解决方案是将数字放在'''如此开放的办公室将完好无损。谢谢大家的帮助!