Python 在CSV文件中区分大写字母和数字

Python 在CSV文件中区分大写字母和数字,python,string,csv,uppercase,Python,String,Csv,Uppercase,我有一个很大的csv文件,数字和字母在同一行 我怎样才能在一个新的列中只输入大写字母 CSV有这种格式 1AAOIAppli 2ABEOAbeon 3ABIOARCA 4ABUSArbut 5ACERAcer ... 我想生成一个像这样的新csv AAOI ABEO ABIO ABUS ACER ... 在过去的两周里我一直在学习python,对此我感到绝望 谢谢大家使用pandas 将熊猫作为pd导入 #读入文件 df=pd.read\u csv('test.csv',header=No

我有一个很大的csv文件,数字和字母在同一行

我怎样才能在一个新的列中只输入大写字母

CSV有这种格式

1AAOIAppli
2ABEOAbeon
3ABIOARCA
4ABUSArbut
5ACERAcer

...
我想生成一个像这样的新csv

AAOI
ABEO
ABIO
ABUS
ACER
...
在过去的两周里我一直在学习python,对此我感到绝望

谢谢大家

使用
pandas
将熊猫作为pd导入
#读入文件
df=pd.read\u csv('test.csv',header=None)
#.isupper用于检查字符
#.join将字母重新连接成字符串
#[:4]来切片前4个
df['upper']=df[0]。应用(lambda x:''.join([letter for letter in x if letter.isupper()])[:4])
打印(df)
0上
1 Aaoiappli AAOI
2ABEOAbeon ABEO
阿比奥生物酒店
4ABUSArbut ABUS
5Acer ACER
#仅将上限保存到新文件
df['upper'].到_csv('new_file.csv',index=False)
如果你想要所有的大写字母而不是前4个
df['upper']=df[0]。应用(lambda x:''.join([letter for letter in x if letter.isupper()]))
0上
1 Aaoiappli AAOIA
2阿贝奥阿贝奥
3无尾海牛
4阿布萨但阿布萨
5槭树

您似乎不希望只获取大写字母,而是希望获取逗号后的四个字符。您可以使用
split
方法,首先获取逗号前后的内容,然后简单地使用
[:4]
获取前四个字符。到目前为止您做了什么?你得到了什么结果?你做了什么来调试你的代码?你好Rajesh,谢谢你的回复,我不能首先应用拆分,因为数字没有用逗号分隔。我必须使用一些东西来识别其中的文本而不是数字吗?人们倾向于花大量时间彻底地回答问题。如果一个解决方案回答了您的问题,请检查它,如果它不能解决问题,请留下评论。复选框位于答案左上角的向上/向下箭头下方。