在Ex中整理无序数据

2024-05-19 08:35:56 发布

您现在位置:Python中文网/ 问答频道 /正文

在这里,每个客户的数据都被压缩到一个存储单元中。 我看过其他回答过的问题,但没有一个能解决我的问题。 这是我拥有的数据的一个例子(有很多):

{"Url":"https://portal.freemarketfx.com/User/RegisterIndividual","Method":"POST","Form":"{\"__RequestVerificationToken\":\"yBPOicSq9wwIFC4IgI_CDB8RSrJonaRM4ztEo0_1pygdrrIMVP12ivGDF7-bvoIGXIc1vsTSQjB_UKAA3t32AcW9ULbuKdHSFD8TQRPnW9jRj5CBj1Pe9tund8mPUG8Eqjutr-EQ3tMnVsSdrXDkfw2\",\"PostbackData\":\"{}\",\"Title\":\"Mr\",\"FirstName\":\"Sebastien\",\"YourDateofBirth\":\"31/01/1983\",\"Gender\":\"Male\",\"MiddleName\":\"Pascal Emmanuel\",\"IDNumberType\":\"Passport\",\"IDNumber\":\"11CX03708\",\"Surname\":\"Py\",\"AddressList.Index\":\"0\",\"AddressList[0].SinceYear\":\"2015\",\"AddressList[0].SinceMonth\":\"3\",\"AddressList[0].SinceDay\":\"25\",\"AddressList[0].UntilYear\":\"2017\",\"AddressList[0].UntilMonth\":\"3\",\"AddressList[0].UntilDay\":\"25\",\"AddressList[0].HouseNumber\":\"05 06\",\"AddressList[0].HouseName\":\"\",\"AddressList[0].FlatNumber\":\"\",\"AddressList[0].Street\":\"29 Adam Road\",\"AddressList[0].CityTown\":\"Singapore\",\"AddressList[0].Postcode\":\"289901\",\"AddressList[0].County\":\"\",\"AddressList[0].District\":\"\",\"AddressList[0].Country\":\"SG\",\"ChannelList.Index\":\"0,1\",\"ChannelList[0].ChannelType\":\"Email\",\"ChannelList[0].Address\":\"sebastienpy@gmail.com\",\"ChannelList[0].TelephoneConnectionType\":\"Cellular\",\"ChannelList[0].TelephonePurpose\":\"Personal\",\"ChannelList[0].CountryCallingCode\":\"\",\"ChannelList[0].TelephoneNumber\":\"\",\"ChannelList[1].ChannelType\":\"Telephone\",\"ChannelList[1].Address\":\"\",\"ChannelList[1].TelephoneConnectionType\":\"Cellular\",\"ChannelList[1].TelephonePurpose\":\"Personal\",\"ChannelList[1].CountryCallingCode\":\"65\",\"ChannelList[1].TelephoneNumber\":\"87275217\",\"PartyIdentificationType\":\"BicIbanAccountNumber\",\"BankBranchCode\":\"\",\"Bic\":\"HSBCSGSG143\",\"AccountNumber\":\"583474496\",\"AccountSetupDate\":\"\",\"ReasonForExchange\":\"TransferToOwnAccount\",\"ReasonForExchangeOther\":\"\",\"MaxPaymentAmount\":\"0\",\"MaxPaymentAmountCurrency\":\"EUR\",\"CurrenciesRequired\":\"EUR,USD,SGD\",\"FrequencyOfTransfer\":\"Annual\",\"AnnualTransactionsValue\":\"0\",\"AnnualTransactionsValueCurrency\":\"GBP\",\"Destinations\":\"FR\",\"Referrer\":\"\",\"AcceptTerms\":\"true,false\"}","Referrer":"https://portal.freemarketfx.com/User/RegisterIndividual","User Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36","entityId":"1","SendEmailRegistration":"{\"Email\":\"registrations@freemarketfx.com\",\"Data\":{\"FirstName\":\"Sebastien Py\",\"Subject\":\"Registration complete\"}}","ActiveAccount":""}

我的问题是,有没有任何方法可以将这些数据整理成一个单元格?请记住,与此类似的其他单元有数百个,所以我不想手动检查每一个单元。 这些数据的很大一部分看起来非常像Python字典,我本来打算写一段代码来利用它,但是我不知道excel中是否有一个更快的内置函数? P、 S由于每个客户的数据不同,所以数据的长度将不相同(只是在您希望使用=MID、=RIGHT或=LEFT函数的情况下)


Tags: 数据pyhttpscomindex客户firstnameportal
1条回答
网友
1楼 · 发布于 2024-05-19 08:35:56

看起来像“,”是数据集之间的主要分隔符,而“:”是次要分隔符。i、 e."Url":"https://portal.freemarketfx.com/User/RegisterIndividual","Method":"POST",...-a“,”拆分不同类型的数据(url、方法等),冒号“:”从数据类型中拆分值(例如,url的值是https://portal..

因此,最好是将原始实体数据,通过在每个逗号处分隔原始数据,将其拆分为数据类型,然后将数据值从各自的标题中分离出来。在Excel中有几种方法可以做到这一点。如果你不介意VBA,看看这个;Excel "UnCONCATENATE"/explode in function / Convert cell into array

如果您更愿意使用公式,那么基本思想应该是B1=LEFT(A1,SEARCH(",",A1))中“,”之前的任何内容(其中A1保存原始数据) 然后在A2=SUBSTITUTE(A1,B1,"",1)中删除原始数据的左侧,然后向下拖动A列和B列,直到B包含所有数据类型

最后,在C1和D2中

分别为=LEFT(B1,SEARCH(":",B1))=SUBSTITUTE(B1,C1,"",1),将数据类型切分为一个标题和一个值

向下拖动,C&D列将拆分所有原始数据。对于VBA方法来说也是类似的情况,对于这两种方法,您可能需要使用TRIMSUBSTITUTE来清除垃圾。在

希望这是清楚的!在

相关问题 更多 >

    热门问题