У меня есть такой текстовый файл:
APAC230_WINC230,P1-2,Transline,17002,APACHE,230,17105,WINCHSTR,230,1
WINC345_VAIL345,P1-2,Transline,16109,WINCHSTR,345,16105,VAIL,345,1
WINC345_VAIL345,P1-2,Transline,16109,WINCHSTR,345,16105,VAIL,345,1a
Я хочу иметь возможность преобразовать список во что-то вроде этого:
APAC230_WINC230,P1-2
Transline,17002,APACHE,230,17105,WINCHSTR,230,1
WINC345_VAIL345,P1-2
Transline,16109,WINCHSTR,345,16105,VAIL,345,1
Transline,16109,WINCHSTR,345,16105,VAIL,345,1a
Используя панд read_CSV, я могу создатьсписок, аналогичный приведенному выше, но я сталкиваюсь с проблемами с сущностями, которые имеют более одного элемента.
Например, это вывод, который я могу создать:
APAC230_WINC230,P1-2
Transline,17002,APACHE,230,17105,WINCHSTR,230,1
WINC345_VAIL345,P1-2
Transline,16109,WINCHSTR,345,16105,VAIL,345,1
WINC345_VAIL345,P1-2
Transline,16109,WINCHSTR,345,16105,VAIL,345,1a
Я имею дело с оченьбольшие списки, так что мне слишком сложно просто удалить дубликаты, также сущности имеют различные имена.
Вот мой код:
import pandas as pd
def cgy(input_file):
rows=['cgy','cat_con_evt','type','frombusid','frombus','frombuskv',
'tobusid','tobus','tobuskv','circuitid']
df = pd.read_csv(input_file,names=rows,dtype=object)
cgy_file = ""
cgy_file = input("Enter output file name:")
with open(cgy_file, 'w') as f:
for i in range(0,len(df)):
print(df.loc[i]['cgy']+","+df.loc[i]['cat_con_evt'], file=f)
print(df.loc[i]['type']+","+
df.loc[i]['frombusid']+","+df.loc[i]['frombus']+","+df.loc[i]['frombuskv']+","+
df.loc[i]['tobusid']+","+df.loc[i]['tobus']+","+df.loc[i]['tobuskv']+","+df.loc[i]['circuitid'],file=f)
def main():
input_file = ""
input_file = input("Enter input file name: ")
cgy(input_file)
if __name__ == '__main__':
main()