Привет, я хотел бы спросить, как скопировать часть строки из одного файла Excel в другой файл Excel. Используя метод нечеткого сопоставления Python или ЛЮБОЙ другой возможный способ, можно надеяться, что вся строка в соответствии с именем будет сопоставлена и скопирована в новый файл Excel.
Вот входные данные из первого файла Excel, всего 13 строк и 6 столбцов, как показано ниже:
-----------------------------------------------------|-----|-----|-----|-----|-----|
| name | no1 | no2 | no3 | no4 | no5 |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Club___Long to Club___Short___Water | abc | abc | abc | abc | abc |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Club___Long to Short___Water | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Club___Long___Land to Short___Water | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Kinabalu___BB to Penang___AA | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Kinabalu___SD to Penang___SD | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Hill___Town to Unknown___Island___Ice | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Hill___Town to Unknown___Island___Ice | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Hill___Town to Unknown___Island___Ice | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Front___House___AA(N) to Back___Garden(N) | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Front___House___AA___(N) to Back___Garden | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Left___House___Hostel(w) to NothingNow___(w) | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Laksama to Kota_Dun | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
Вводя первую строку, я хотел бы, чтобы python распознал приблизительное похожее имя строки, скопировал всю строку и вставил ее в новый файл Excel. Сравнивая сходство слов вместо алфавита, например, сколько слов одинаково, если оно больше или равно определенному количеству (скажем, 50%), оно будет передано для копирования.
Например, сравнивая строку 2 и строку 3, from Club___Long to Club___Short___Water
очень похож на from Club___Long to Short___Water
, from Club___Long to Club___Short___Water
содержит 7 слов, а from Club___Long to Short___Water
содержит 6 слов. Из 7 слов from Club___Long to Club___Short___Water
есть 6 слов, похожих на from Club___Long to Short___Water
. Следовательно, 6 / 7 * 100% = 85.71%
, что составляет более 50%, python сочтет его совпавшим и скопирует.
Например, строки со 2 по 4 примерно одинаковы, поэтому python сопоставит их и распознает почти одинаково, скопирует только всю строку 2 во всю строку 4 в новый файл Excel и назовет его «new_file_1.xlsx». Желаемый результат, как показано ниже:
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Club___Long to Club___Short___Water | abc | abc | abc | abc | abc |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Club___Long to Short___Water | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Club___Long___Land to Short___Water | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
То же самое касается строки 5 и строки 6, и назовите ее как «new_file_2.xlsx», желаемый результат, как показано ниже:
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Kinabalu___BB to Penang___AA | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Kinabalu___SD to Penang___SD | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
То же самое происходит со строкой 7 до строки 9, и назовите ее как «new_file_3.xlsx», желаемый результат, как показано ниже:
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Hill___Town to Unknown___Island___Ice | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Hill___Town to Unknown___Island___Ice | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Hill___Town to Unknown___Island___Ice | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
То же самое относится к строке 10 до строки 11 и назовите ее как «new_file_4.xlsx», желаемый результат, как показано ниже:
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Front___House___AA(N) to Back___Garden(N) | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
| from Front___House___AA___(N) to Back___Garden | def | def | def | def | def |
-----------------------------------------------------|-----|-----|-----|-----|-----|
Что касается строки 12 и строки 13, они обе не похожи на другие строки, поэтому не нужно копировать, просто оставьте их.
Очень признателен, если кто-нибудь может мне помочь, спасибо!