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.
- myFile= open( "CC4. csv", "wb" )
- wtr= csv. người viết( myFile )
- cho blanka,s,q trong zip(blanka,s,q)
- wtr. writerow([trống,s,q])
- tập tin của tôi. đóng lại()
Cảm ơn bạn,
Ron Parker
9 May '11 #1
1
Đọ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ụ.
- nhập csv
- f = open('csv2. txt')
- dữ liệu = [mục cho mục trong csv. độc giả(f)]
- f. đóng lại()
- new_column = ["Col 1", "Dòng 1", "Dòng 2"]
- new_data = []
- đối với i, mục trong bảng kê (dữ liệu)
- cố gắng
- mục. nối thêm (new_column [i])
- ngoại trừ IndexError, e
- mục. nối thêm ("giữ chỗ")
- dữ liệu mới. nối thêm (mục)
- f = open('csv2B. txt', 'w')
- csv. nhà văn(f). người viết (new_data)
- 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 pd4 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 pd5), 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 pd5). Lời nhắc thiết bị đầu cuối của bạn có thể khác
$ pip install pandasNhấn phím import pandas as pd7 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 pd0)
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 pd1 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 pd2 đượ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 pd3
Đầu ra (đoạn mã) với import pandas as pd4
Ví dụ này đặt import pandas as pd5 để 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 pd6, tệp sẽ hiển thị với cột chỉ mục như hình bên dưới
Đầu ra (đoạn mã) với chỉ mục=Sai
Để lại cái này là import pandas as pd7 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ư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 pd1Mã này đọc trong tệp import pandas as pd1 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 pd2 đượ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)
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 pd5💡Một Finxter yêu thích
Mã này đọc trong tệp import pandas as pd1 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 pd2 đượ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
Xem video này trên YouTube
Đầu ra (đoạn trích)
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 pd4 được sử dụng để đặt giá trị mới cho bốn (4) bản ghi hàng đầu
import pandas as pd9Mã này đọc trong tệp import pandas as pd1 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 pd4. Đầ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)
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