Làm cách nào để thêm nhiều cột vào tệp csv trong python?

Xin chào tất cả.
Tôi có một tệp csv thường có từ 100 đến 200 cột. Tôi có một cột dữ liệu mới mà tôi muốn thêm vào tệp csv. Tôi biết nếu bạn mở tệp dưới dạng "A" thì tệp sẽ nối thêm tệp, nhưng tôi chỉ biết cách sử dụng nó để thêm hàng mới vào tài liệu. không phải cột mới.
Ngay bây giờ mã này sẽ viết ba cột dữ liệu.

  1. myFile= open( "CC4. csv", "wb" )
  2. wtr= csv. người viết( myFile )
  3. cho blanka,s,q trong zip(blanka,s,q)
  4. wtr. writerow([trống,s,q])
  5. tập tin của tôi. đóng lại()

Bây giờ, giả sử tôi có một mảng gọi là "dữ liệu" và tôi không biết có bao nhiêu cột đã được ghi trong tệp, làm cách nào để thêm cột mới này vào tệp?

Cảm ơn bạn,
Ron Parker

9 May '11 #1

1

Làm cách nào để thêm nhiều cột vào tệp csv trong python?
46782
Làm cách nào để thêm nhiều cột vào tệp csv trong python?

Làm cách nào để thêm nhiều cột vào tệp csv trong python?

Đọc tệp CSV hiện có. Tạo một mảng dữ liệu mới và nối các cột mới vào mỗi hàng. Sau đó ghi mảng mới vào đĩa. Một ví dụ.

  1. nhập csv
  2. f = open('csv2. txt')
  3. dữ liệu = [mục cho mục trong csv. độc giả(f)]
  4. f. đóng lại()
  5. new_column = ["Col 1", "Dòng 1", "Dòng 2"]
  6. new_data = []
  7. đối với i, mục trong bảng kê (dữ liệu)
  8. cố gắng
  9. mục. nối thêm (new_column [i])
  10. ngoại trừ IndexError, e
  11. mục. nối thêm ("giữ chỗ")
  12. dữ liệu mới. nối thêm (mục)
  13. f = open('csv2B. txt', 'w')
  14. csv. nhà văn(f). người viết (new_data)
  15. f. đóng lại()

10 May '11 #2

Đăng trả lời của bạn

Đăng nhập để đăng câu trả lời của bạn hoặc Đăng ký một tài khoản miễn phí

Chủ sở hữu của Học viện Finxter đã yêu cầu bạn thêm một cột mới vào tệp CSV hiện tại của họ có tên là Total_Chrgs

💬 câu hỏi. Làm cách nào để chúng tôi viết mã Python để thêm một cột mới vào tệp CSV?

Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau

  • Phương pháp 1. Thêm một cột có giá trị mặc định
  • Phương pháp 2. Thêm một cột có giá trị được tính toán
  • Phương pháp 3. Thêm một cột bằng Lambda với các giá trị được tính toán
  • Phương pháp 4. Thêm một cột bằng cách sử dụng
    import pandas as pd
    4 với các giá trị được gán

Sự chuẩn bị

Trước khi bất kỳ thao tác dữ liệu nào có thể xảy ra, một (1) thư viện mới sẽ yêu cầu cài đặt

  • Thư viện Pandas cho phép truy cập vào/từ DataFrame

Để cài đặt thư viện này, hãy điều hướng đến một thiết bị đầu cuối IDE. Tại dấu nhắc lệnh (

import pandas as pd
5), hãy thực thi mã bên dưới. Đối với thiết bị đầu cuối được sử dụng trong ví dụ này, dấu nhắc lệnh là ký hiệu đô la (
import pandas as pd
5). Lời nhắc thiết bị đầu cuối của bạn có thể khác

$ pip install pandas

Nhấn phím

import pandas as pd
7 trên bàn phím để bắt đầu quá trình cài đặt

Nếu quá trình cài đặt thành công, một thông báo sẽ hiển thị trong thiết bị đầu cuối cho biết điều tương tự


Vui lòng xem hướng dẫn cài đặt PyCharm để biết thư viện cần thiết

  • Cách cài đặt gấu trúc trên PyCharm

Thêm đoạn mã sau vào đầu mỗi đoạn mã. Đoạn mã này sẽ cho phép mã trong bài viết này chạy không có lỗi

import pandas as pd

💡 Lưu ý. Để làm theo, nhấp vào đây để tải xuống tệp CSV Finxter và di chuyển tệp này vào thư mục làm việc hiện tại


Phương pháp 1. Thêm một cột có giá trị mặc định

Trong ví dụ này, một cột mới được thêm vào và được gán một giá trị mặc định duy nhất là 0 (

import pandas as pd
0)

df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)

Mã này đọc trong tệp

import pandas as pd
1 hiện có, hợp lý hóa nó thành một vài cột cho ngắn gọn và lưu nó vào DataFrame

Cột DataFrame mới

import pandas as pd
2 được thêm vào và được gán giá trị mặc định là 0 cho mỗi mục nhập. Kết quả lưu vào
import pandas as pd
3

Đầu ra (đoạn mã) với

import pandas as pd
4

Ví dụ này đặt

import pandas as pd
5 để bỏ qua các giá trị chỉ mục khi ghi vào tệp CSV. Nếu điều này được đặt thành
import pandas as pd
6, tệp sẽ hiển thị với cột chỉ mục như hình bên dưới

Làm cách nào để thêm nhiều cột vào tệp csv trong python?

Đầu ra (đoạn mã) với chỉ mục=Sai

Để lại cái này là

import pandas as pd
7 sẽ cho chúng tôi đầu ra mà chúng tôi đang tìm kiếm. không có cột chỉ mục bổ sung

Làm cách nào để thêm nhiều cột vào tệp csv trong python?

💡 Lưu ý. Đối với mục đích thử nghiệm, chúng tôi có thể đề xuất ghi nội dung vào tệp CSV mới và không ghi đè lên tệp gốc


Phương pháp 2. Thêm một cột có giá trị được tính toán

Một cột mới được thêm vào trong ví dụ này và một phép tính tập hợp được thực hiện và gán cho từng mục nhập

import pandas as pd
1

Mã này đọc trong tệp

import pandas as pd
1 hiện có, hợp lý hóa nó thành một vài cột cho ngắn gọn và lưu nó vào DataFrame

Một cột mới

import pandas as pd
2 được thêm vào và các phép tính được thực hiện trên mỗi mục nhập. Kết quả được làm tròn đến hai (2) chữ số thập phân và được lưu vào
df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)
0

Đầu ra (đoạn trích)

Làm cách nào để thêm nhiều cột vào tệp csv trong python?


Phương pháp 3. Thêm một cột bằng Lambda với các giá trị được tính toán

Trong ví dụ này, một cột mới được thêm vào và một phép tính tập hợp được thực hiện và gán cho từng mục nhập bằng cách sử dụng Lambda

import pandas as pd
5

💡Một Finxter yêu thích

Mã này đọc trong tệp

import pandas as pd
1 hiện có, hợp lý hóa nó thành một vài cột cho ngắn gọn và lưu nó vào DataFrame

Một cột mới

import pandas as pd
2 được thêm vào và Lambda thực hiện các phép tính trên mỗi mục nhập, làm tròn đến hai (2) chữ số thập phân. Đầu ra lưu vào
df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)
3

Hãy chơi Finxter - Hàm Lambda trong Python

Làm cách nào để thêm nhiều cột vào tệp csv trong python?

Xem video này trên YouTube

Đầu ra (đoạn trích)

Làm cách nào để thêm nhiều cột vào tệp csv trong python?


Phương pháp 4. Thêm một cột bằng cách sử dụng gán () với các giá trị được gán

Trong ví dụ này, một cột mới được thêm vào, sắp xếp và

import pandas as pd
4 được sử dụng để đặt giá trị mới cho bốn (4) bản ghi hàng đầu

import pandas as pd
9

Mã này đọc trong tệp

import pandas as pd
1 hiện có, hợp lý hóa nó thành một vài cột cho ngắn gọn và lưu nó vào DataFrame

Sau đó, DataFrame được sắp xếp theo thứ tự giảm dần dựa trên khoản phí

df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)
6 và bốn (4) hàng trên cùng trả về (
df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)
7). Các hàng này được gán các giá trị hiển thị trong tham số Danh sách
import pandas as pd
4. Đầu ra lưu vào
df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)
9

Đầu ra (đoạn trích)

Làm cách nào để thêm nhiều cột vào tệp csv trong python?


Tóm lược

Bốn (4) phương pháp thêm Cột DataFrame này sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho các yêu cầu viết mã của bạn