Unten ist JSON von einer Web-API. Ich möchte es in einen Python Pandas Tabular Datenrahmen laden, so dass ich in Python schwenken kann.Json zu Panda Tabelle in Python
Ich bin fest, die JSON zu lesen. Ich bin nicht in der Lage, das json-Format in ein Tabellenformat zu übersetzen.
Bitte helfen Sie mir mit einem Ausgangspunkt. Ich habe in meiner Python 3.6-Shell viele JSON-zu-Tabular-Videos ohne Erfolg gesehen.
Wie lade ich JSON in eine pandas.DataFrame
?
Unten ist die json-Format von Web-API:
{"success": true,"SalesData" :[ { "InvoiceNo":"S42694","ReceiptNo":"SR39258","GuestName":"ABC Ed","GuestCode":"","SoldOn":"2014-04-07 12:17:48","ServicedOn":"2014-04-07 10:00:00","ItemType":"0","ItemCode":"HS00018","ServiceName":"Wash & Blow - Dry Long Hair","Quantity":"1","UnitPrice":"90","SalePrice":"90","Discount":"0","ServiceTax":"11.24","TotalTax":"11.24","TaxCode":"abc_Service Tax_svc","LoyaltyPointRedemption":"0","MembershipRedemption":"0","PrepaidCardRedemption":"0","CashbackRedemption":"0","PackageRedemption":"0","Cash":"0","Card":"1012","Check":"0","Custom":"0","Points":"0","MembershipPaid":"0","PrepaidCard":"0","CenterCode":"","LastPaymentDate":"2014-04-07 12:20:28","InvoiceItemId":"1d41a266-e2a2-4c40-89c0-35d0e57cd83d","RoundingAdjustment":"0.76","Tips":"0","EmployeeName":"ABC FG","EmployeeCode":"7","EmployeeJobCode":"J0001","Tags":"","GuestId":"7d11090e-c330-4ec3-937c-98fe5139062b","FinalSalePrice":"101.24","Promotion":"","CouponPrinted":"","FirstVisit":"No","Package":"","PackageInvoice":"","CenterName":"ABC","Due":"0","PaymentType":"Visa","BUName":"brick"}, { "InvoiceNo":"S42695","ReceiptNo":"SR39264","GuestName":"ABC XYZ","GuestCode":"","SoldOn":"2014-04-07 12:30:30","ServicedOn":"2014-04-07 10:00:00","ItemType":"0","ItemCode":"SS00162","ServiceName":"Mica","Quantity":"1","UnitPrice":"50","SalePrice":"50","Discount":"100","ServiceTax":"4.44","TotalTax":"4.44","TaxCode":"Gurgaon_Service Tax_svc","LoyaltyPointRedemption":"0","MembershipRedemption":"0","PrepaidCardRedemption":"0","CashbackRedemption":"0","PackageRedemption":"0","Cash":"0","Card":"449.4741","Check":"0","Custom":"0","Points":"0","MembershipPaid":"0","PrepaidCard":"0","CenterCode":"","LastPaymentDate":"2014-04-07 14:08:26","InvoiceItemId":"4f501646-9619-4677-86d6-44bf376e3959","RoundingAdjustment":"0.0341840592193034","Tips":"0","EmployeeName":"ABC","EmployeeCode":"12345","EmployeeJobCode":"J0009","Tags":"","GuestId":"abd3695f-efd0-4a9e-9692-91eb6ce84c3b","FinalSalePrice":"449.44","Promotion":"Campaign: Campaign: ABC connection - non facial service (20% off)","CouponPrinted":"","FirstVisit":"No","Package":"","PackageInvoice":"","CenterName":"ABC","Due":"0","PaymentType":"Visa","BUName":"Brick"}
Hallo Elelias, Vielen Dank für Ihre Antwort, aber ich erhalte "Typeerror: String-Indizes müssen ganze Zahlen sein" mit folgenden Code: sales_df = pd.DataFrame (url [ 'Salesdata']) –
Ich habe den Code mit dem obigen Beispiel getestet und es funktioniert für mich. Siehe meine Bearbeitung. – elelias
Das ist definitiv richtige Antwort von @elelias –