gpt4 book ai didi

python - 分割多行字符串并附加到新列表

转载 作者:行者123 更新时间:2023-12-01 04:46:44 29 4
gpt4 key购买 nike

我有一个 csv 文件,其中包含一组记录。其中一列是多行字符串。我需要拆分这些行并复制主列表。例如,如果文件包含以下记录。

Row 1 - John, 2501, Admin/Partner/HR, TX
Row 2 - Max, 3489, Accountant/Admin/HR, MN

其中 Admin/Partner/HRAccountant/Admin/HR 是多行字符串。我需要如下输出:

Row 1 - John, 2501, Admin, TX
Row 2 - John, 2501, Partner, TX
Row 3 - John, 2501, HR, TX
Row 4 - Max, 3489, Accountant, MN
Row 5 - Max, 3489, Admin, MN
Row 6 - Max, 3489, HR, MN

我尝试了以下功能

def splitrows(list_old,col):
count = 0;
array_new = []
for row in list_old:
splitArray = []
splitarray = row[col].split('\n\n')
if(len(splitarray)>0):
for eachLine in splitarray:
row[col] = eachLine
array_new.append(row)


return array_new

如果我使用追加,则只有最后一行会重复。如果我使用 array_new+=row,那么每一列都会被拆分并添加到列表中,但我不希望这种情况发生。

提前致谢!

最佳答案

因为您正在解析的内容(几乎)是 csv 。您可以使用 csv module :

import csv

with open("test.csv") as f:
# create a reader
reader = csv.reader(f)
for row in reader:
# create a new row for each item in column 2
for item in row[2].split('/'):
# align items
row[2] = ' ' + item.lstrip()
print ','.join(row)

输出:

John, 2501, Admin, TX
John, 2501, Partner, TX
John, 2501, HR, TX
Max, 3489, Accountant, MN
Max, 3489, Admin, MN
Max, 3489, HR, MN

关于python - 分割多行字符串并附加到新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29260522/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com