Làm cách nào để chuyển đổi CSV sang JSON bằng Python?

Lưu ý rằng bạn nên sử dụng một trong các cột CSV làm khóa. Trong ví dụ này, chúng tôi đã sử dụng cột '______02' từ tệp CSV của mình. Trong trường hợp của bạn, bạn sẽ cần sử dụng tiêu đề cột của riêng mình

Nhập tệp CSV

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000

Xuất tệp JSON

{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}

Bạn có thể tự mình dùng thử trong Jupyter Notebook tương tác của chúng tôi tại đây

Python Chuyển đổi CSV sang JSON bằng Tiêu đề

Cách tiếp cận

{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
3 được trình bày trước đó giả định rằng dòng đầu tiên trong CSV là tiêu đề. Do đó, dòng đầu tiên được sử dụng làm tiêu đề của CSV — ví dụ: để truy cập khóa hàng cụ thể của cột
{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
4 bằng cách sử dụng
{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
5

Python Chuyển đổi CSV sang JSON mà không cần Tiêu đề

Cách tiếp cận

{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
3 được trình bày trước đó giả định rằng dòng đầu tiên trong CSV là tiêu đề

Nếu tệp CSV của bạn không có bất kỳ thông tin tiêu đề nào trong dòng đầu tiên, bạn có thể đặt chúng theo cách thủ công bằng cách sử dụng đối số

{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
7 của phương thức
{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
3 nhận một chuỗi nhãn cột [chuỗi]

Đây là cú pháp của phương thức

{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
9

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
0

“Tham số

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
00 là một dãy. Nếu
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
00 bị bỏ qua, các giá trị trong hàng đầu tiên của tệp
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
02 sẽ được sử dụng làm
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
00. " - Tài liệu

Đoạn mã sau cho biết cách chuyển đổi cùng một CSV không có tiêu đề thành tệp JSON bằng cách đặt chuỗi cột [tiêu đề] tùy chỉnh làm danh sách

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
04

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
6

Đây là các tập tin đầu vào và đầu ra

Nhập tệp CSV

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000

Xuất tệp JSON

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
8

Hoặc, như một ảnh chụp màn hình

Bạn có thể thấy rằng hàng đầu tiên hiện được sử dụng làm hàng mục nhập CSV bình thường chứ không phải làm tiêu đề như trong ví dụ trước mà không chỉ định đối số

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
00 của phương thức
{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
9

Python Chuyển đổi CSV sang JSON Pandas

Phương thức

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
07 chuyển đổi đối tượng DataFrame thành chuỗi JSON

Cú pháp của phương thức này như sau

{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
2

Ví dụ sau đọc trong tệp

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
08 vào DataFrame. DataFrame này sau đó chuyển đổi thành JSON

{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
4
  • Dòng [1] đọc trong năm [5] hàng đầu tiên [đầu] của tệp
    Name,Job,Age,Income
    Alice,Programmer,23,110000
    Bob,Executive,34,90000
    Carl,Sales,45,50000
    08. Đầu ra lưu vào DataFrame [______160]
  • Dòng [2] thực hiện như sau
    • chuyển đổi DataFrame sang định dạng JSON
    • định dạng đầu ra bằng cách thụt vào từng bản ghi bốn [4] khoảng cách từ bên trái
    • đặt tham số định hướng cho các bản ghi và dòng thành
      Name,Job,Age,Income
      Alice,Programmer,23,110000
      Bob,Executive,34,90000
      Carl,Sales,45,50000
      61 [xem định nghĩa ở trên]
    • lưu đầu ra vào
      Name,Job,Age,Income
      Alice,Programmer,23,110000
      Bob,Executive,34,90000
      Carl,Sales,45,50000
      62
  • Dòng [3] xuất kết quả ra terminal

Đầu ra –

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
62

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
64
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
65
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
66
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
67
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
68
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
69
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
64
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
1
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
2
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
3
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
4
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
69
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
64
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
7
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
8
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
9
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
80
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
69
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
64
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
83
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
84
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
85
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
86
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
69
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
64
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
89
{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
20
{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
21
{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
22
Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000
69

Nhiều chuyển đổi CSV Python hơn

🐍 Tìm hiểu thêm. Tôi đã biên soạn một "hướng dẫn cuối cùng" trên blog Finxter để chỉ cho bạn phương pháp tốt nhất, tương ứng, để chuyển đổi tệp CSV thành JSON, Excel, từ điển, Parquet, danh sách, danh sách danh sách, danh sách bộ dữ liệu, tệp văn bản, DataFrame,

Phù. Hãy kết thúc bài viết này bằng một ghi chú thú vị hơn. 🙂

lập trình viên

{
  "Alice": {
    "Name": "Alice",
    "Job": "Programmer",
    "Age": "23",
    "Income": "110000"
  },
  "Bob": {
    "Name": "Bob",
    "Job": "Executive",
    "Age": "34",
    "Income": "90000"
  },
  "Carl": {
    "Name": "Carl",
    "Job": "Sales",
    "Age": "45",
    "Income": "50000"
  }
}
0

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

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

Để chuyển đổi CSV sang JSON trong Python, hãy làm theo các bước sau. .
Khởi tạo danh sách Python
Đọc các dòng của tệp CSV bằng csv. Hàm DictReader[]
Chuyển từng dòng thành từ điển. .
Chuyển đổi Danh sách Python thành Chuỗi JSON bằng json. .
Bạn có thể ghi Chuỗi JSON vào tệp JSON

Làm cách nào để chuyển đổi tệp CSV thành JSON?

Cách tiếp cận. .
Đọc tệp csv bằng gói fs npm mặc định
Chuyển đổi dữ liệu thành Chuỗi và chia thành một mảng
Tạo một mảng tiêu đề
Đối với tất cả n-1 hàng còn lại, hãy làm như sau. Tạo một đối tượng trống để thêm các giá trị của hàng hiện tại vào nó. .
Chuyển đổi mảng kết quả thành json và tạo tệp đầu ra JSON

Làm cách nào để chuyển đổi chuỗi được phân tách bằng dấu phẩy thành JSON trong Python?

bạn có thể biến nó thành JSON trong Python bằng cách sử dụng json. hàm tải[] . json. hàm loading[] chấp nhận đầu vào là một chuỗi hợp lệ và chuyển đổi nó thành một từ điển Python.

Làm cách nào để chuyển đổi tệp Excel thành JSON trong Python?

Chuyển đổi Trang tính Excel thành Chuỗi JSON bằng Mô-đun Pandas . Bạn có thể đọc thêm về nó tại Pandas read_excel[] – Đọc tệp Excel bằng Python. Chúng ta có thể sử dụng hàm to_json[] để chuyển đổi đối tượng DataFrame thành chuỗi JSON .

Chủ Đề