我在玩Python csv是为了娱乐,而不是使用pandas库。我尝试拆分一列以获取数字,该列包含字母和数字。我成功获取了号码,但不是全部。缺少一个。
该列中只有两种类型的数据
GL Code : 8500/000
GL Code : 850/000
这是我的代码
csv_reader = csv.reader(csv_file)
list_1 = list(csv_reader)
for line in list_1:
coa_name = line[0]
split_coa_code = coa_name.split('GL Code : ')
print (split_coa_code)
结果
['', '8500/000']
['books']
['books2']
['', '850/000']
['fish']
预期结果示例
8500/000
850/000
8600/000
答案 0 :(得分:0)
尝试
csv_reader = csv.reader(csv_file)
list_1 = list(csv_reader)
for line in list_1:
split_coa_code = line.split(':')[1]
print (split_coa_code)
答案 1 :(得分:0)
这部充满灵魂的作品
for line in list_1:
if 'GL Code :' in line:
print(line.replace('GL Code : ', ''))
答案 2 :(得分:0)
这应该可以解决您的问题。
csv_reader = csv.reader(csv_file)
list_1 = list(csv_reader)
for line in list_1:
coa_name = line[0]
if not coa_name:
# if empty string at that line
continue
split_coa_code = coa_name.split(': ')[-1]
print(split_coa_code)
在coa_name.split(': ')[-1]
,它将根据您的示例输入返回["GL Code : ", "8500/000"]
或["GL Code : ", "850/000"]
。
我在": "
进行拆分,这样您将返回一个包含2个项目的列表。列表中的第二项是您要寻找的。因此,我使用负索引,即[-1]
来获取最后一个元素。
注意-字符串类型
如果您有任何疑问,请告诉我。