Làm cách nào để chuyển đổi mảng NumPy thành JSON Python?

Tôi cần tạo json từ Pandas DataFrame, nhưng sử dụng df. to_json hiển thị lỗi phân đoạn, vì vậy tôi muốn tìm một cách khác để tạo json và điều duy nhất tôi nhận được là tạo một mảng bản ghi từ khung dữ liệu

Bây giờ tôi cần tạo json. kết xuất với tên của các tập tin. Một cái gì đó như thế này

{ "id":123, "name":"myname"}

Đây là mã tôi đã quản lý để tạo và đây là tệp của tôi [http. //pastebin. com/iYewEfTg]

import pandas as pd
import json

columns = [u'SalesOrderID', u'OrderDate', u'DueDate', u'ShipDate', u'SalesOrderNumber', u'Title', u'FirstName', u'MiddleName', u'LastName', u'Suffix', u'PhoneNumber', u'PhoneNumberType', u'EmailAddress', u'EmailPromotion', u'AddressType', u'AddressLine1', u'AddressLine2', u'City', u'StateProvinceName', u'PostalCode', u'CountryRegionName', u'SubTotal', u'TaxAmt', u'Freight', u'TotalDue', u'UnitPrice', u'ProductName', u'ProductSubcategory', u'ProductCategory']
data = pd.read_csv['../Uploads/TxtDataSimplified.txt', header=0, names=columns, sep='\t']
data2 = data.to_records[index=0]   
arrayJSON = []
for r in data2:
    for c in columns:
        d=[]
        d[c] = r.__getattribute__[c]
    arrayJSON.append[d]

Tôi cần một JSON như thế này

[  
{  
   'City':'Sooke',
   'FirstName':'Devin',
   'Title':nan,
   'LastName':'Phillips',
   'SubTotal':'189,97',
   'OrderDate':'2014-06-30 00:00:00.000',
   'AddressType':'Home',
   'PhoneNumberType':'Home',
   'TaxAmt':'15,1976',
   'AddressLine2':nan,
   'AddressLine1':'2742 Cincerto Circle',
   'DueDate':'2014-07-12 00:00:00.000',
   'TotalDue':'209,9169',
   'ShipDate':'2014-07-07 00:00:00.000',
   'StateProvinceName':'British Columbia',
   'MiddleName':nan,
   'ProductCategory':'Accessories',
   'PhoneNumber':'425-555-0163',
   'CountryRegionName':'Canada',
   'PostalCode':'V0',
   'SalesOrderNumber':'SO75123',
   'Suffix':nan,
   'ProductName':'All-Purpose Bike Stand',
   'SalesOrderID':75123,
   'EmailAddress':'devin38@adventure-works.com',
   'EmailPromotion':0,
   'Freight':'4,7493',
   'UnitPrice':'159',
   'ProductSubcategory':'Bike Stands'
},
{  
   'City':'Sooke',
   'FirstName':'Devin',
   'Title':nan,
   'LastName':'Phillips',
   'SubTotal':'189,97',
   'OrderDate':'2014-06-30 00:00:00.000',
   'AddressType':'Home',
   'PhoneNumberType':'Home',
   'TaxAmt':'15,1976',
   'AddressLine2':nan,
   'AddressLine1':'2742 Cincerto Circle',
   'DueDate':'2014-07-12 00:00:00.000',
   'TotalDue':'209,9169',
   'ShipDate':'2014-07-07 00:00:00.000',
   'StateProvinceName':'British Columbia',
   'MiddleName':nan,
   'ProductCategory':'Clothing',
   'PhoneNumber':'425-555-0163',
   'CountryRegionName':'Canada',
   'PostalCode':'V0',
   'SalesOrderNumber':'SO75123',
   'Suffix':nan,
   'ProductName':'AWC Logo Cap',
   'SalesOrderID':75123,
   'EmailAddress':'devin38@adventure-works.com',
   'EmailPromotion':0,
   'Freight':'4,7493',
   'UnitPrice':'8,99',
   'ProductSubcategory':'Caps'
}
]

Và lỗi mà tôi nhận được là

Traceback [most recent call last]:                                                                                                                                
  File "/home/ubuntu/workspace/python/tests2.py", line 11, in                                                                                             
    d[c] = r.__getattribute__[c]                                                                                                                                  
TypeError: list indices must be integers, not unicode   

Nhưng tôi thực sự đánh giá cao sự trợ giúp về kết quả cuối cùng, tôi đã thay đổi từ lỗi này sang lỗi khác nhưng không thể đạt được điều mình muốn. Tôi cần JSON để chèn nó vào MongoDB

Nếu Đúng thì suy ra dtypes, nếu lệnh của cột thành dtype thì sử dụng chúng, nếu Sai thì hoàn toàn không suy ra dtypes, chỉ áp dụng cho dữ liệu

convert_axes. boolean, mặc định Đúng

Cố gắng chuyển đổi các trục thành các kiểu phù hợp

convert_dates. boolean, mặc định Đúng

Danh sách các cột để phân tích ngày tháng;

keep_default_dates. boolean, mặc định Đúng

Nếu phân tích cú pháp ngày, thì hãy phân tích cú pháp các cột giống như ngày tháng mặc định

cục mịch. boolean, mặc định Sai

Giải mã trực tiếp thành mảng numpy. Chỉ hỗ trợ dữ liệu số, nhưng nhãn chỉ mục và cột không phải là số được hỗ trợ. Cũng lưu ý rằng thứ tự JSON PHẢI giống nhau cho mỗi thuật ngữ nếu numpy=True

precision_float. boolean, mặc định Sai

Đặt để cho phép sử dụng hàm có độ chính xác cao hơn [strtod] khi giải mã chuỗi thành giá trị kép. Mặc định [Sai] là sử dụng chức năng dựng sẵn nhanh nhưng kém chính xác hơn

ngày_đơn vị. chuỗi, mặc định Không có

Đơn vị dấu thời gian để phát hiện nếu chuyển đổi ngày. Hành vi mặc định là thử và phát hiện độ chính xác chính xác, nhưng nếu điều này không được mong muốn thì hãy chuyển một trong số 's', 'ms', 'us' hoặc 'ns' để buộc chỉ phân tích cú pháp giây, mili giây, micro giây hoặc nano giây tương ứng

Làm cách nào để chuyển đổi mảng Python thành JSON?

Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành một chuỗi JSON bằng cách sử dụng json. phương thức dumps[] .

Làm cách nào để JSON tuần tự hóa một mảng trong Python?

Làm việc với dữ liệu JSON trong Python . dump[] sẽ ghi dữ liệu Python vào một đối tượng dạng tệp . Chúng tôi sử dụng điều này khi chúng tôi muốn tuần tự hóa dữ liệu Python của mình thành tệp JSON bên ngoài. dumps[] sẽ ghi dữ liệu Python vào một chuỗi ở định dạng JSON.

Làm cách nào để lưu một mảng trong tệp json?

Bạn chuyển đổi toàn bộ mảng thành JSON dưới dạng một đối tượng bằng cách gọi JSON. stringify[] trên mảng , dẫn đến một chuỗi JSON. Để chuyển đổi trở lại một mảng từ JSON, bạn sẽ gọi JSON. parse[] trên chuỗi, để lại cho bạn mảng ban đầu.

Làm cách nào để chuyển đổi một mảng NumPy thành một danh sách?

Làm cách nào để chuyển đổi Mảng NumPy thành danh sách trong Python? . use ndarray. hàm tolist[] , hàm này không nhận bất kỳ tham số nào và trả về danh sách python cho một mảng. Trong khi chuyển đổi thành danh sách, nó sẽ chuyển đổi các mục thành loại Python tích hợp tương thích gần nhất.

Chủ Đề