我有一个很大的 csv,其中有一列包含以零开头并以 .
看起来像 ..
TC_NUM
0101.0001.
0101.0002.
0101.0003.
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像..
TC_NUM
0101.0001
0101.0002
0101.0003
Run Code Online (Sandbox Code Playgroud)
我的代码:
df3['TC_NUM'] = df3['TC_NUM'].astype(str).str[:-1]
Run Code Online (Sandbox Code Playgroud)
我的代码输出错误..
TC_NUM
101.0001
101.0002
101.0003
101.0004
101.0005
Run Code Online (Sandbox Code Playgroud)
使用 edchums 修复..
df4 = pd.read_csv('output2.csv', dtype=object, index_col=0)
print df4.head()
df4['TC_NUM'] = df4['TC_NUM'].str[:-1]
Run Code Online (Sandbox Code Playgroud)
打印正确..
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
Run Code Online (Sandbox Code Playgroud)
但用这个
df4['TC_NUM'] = df4['TC_NUM'].str[:-1]
print df4.head
df4.to_csv('output2.csv', dtype=object,index_col=0)
Run Code Online (Sandbox Code Playgroud)
生成的 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
Run Code Online (Sandbox Code Playgroud)
因此缺少开头的 0
您需要将其读入,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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5571 次 |
| 最近记录: |