Tôi có tệp .csv này ...
id,first_name,last_name,email,date,opt-in,unique_code
1,Jimmy,Reyes,,12/29/2016,FALSE,ER45DH
2,Doris,Wood,,04/22/2016,,MU34T3
3,Steven,Miller,,07/31/2016,FALSE,G34FGH
4,Earl,Parker,,01-08-17,FALSE,ASY67J
5,Barbara,Cruz,,12/30/2016,FALSE,NHG67P
Nếu giá trị chọn tham gia trống, nó sẽ in "0". Giá trị cuối cùng trong CSV nên in trước, và sau đó tất cả tên, các cặp giá trị ở một định dạng cụ thể, như được hiển thị trong tệp đầu ra dự kiến bên dưới.last value in csv should print first, and then all the name, value pairs in a specific format, like shown in the expected output file below.
Đầu ra mong đợi của tôi
ER45DH"id"="1","first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE"
MU34T3"id"="2","first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016,"opt-in"="0"
.......
Mã của tôi cho đến nay ..
import csv
with open['newfilename.csv', 'w'] as f2:
with open['mycsvfile.csv', mode='r'] as infile:
reader = csv.reader[infile]
for i,rows in enumerate[reader]:
if i == 0:
header = rows
else:
if rows[5] == '':
rows[5] = 0;
pat = rows[0]+'\t'+'''"%s"="%%s",'''*[len[header]-2]+'''"%s"="%%s"\n'''
print pat
f2.write[pat % tuple[header[1:]] % tuple[rows[1:]]]
f2.close[]
Mã này tạo ra đầu ra này
1 "first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE","unique_code"="ASD34R"
2 "first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016","opt-in"="0","unique_code"="SDS56N"
Như bạn có thể thấy cột "id" bị thiếu và tôi muốn unque_code ở vị trí đầu tiên.
Tôi thực sự sẽ đánh giá cao bất kỳ sự giúp đỡ/ý tưởng/gợi ý.
Cảm ơn
Nếu bạn cần đọc CSV trong Python như đọc các tệp CSV [và viết] cho họ, bạn sẽ gặp may. Trong hướng dẫn này, bạn sẽ học cách đọc, ghi và nối dữ liệu vào các tệp CSV trong các tập lệnh Python của bạn!
Bắt đầu nào!
- Điều kiện tiên quyết
- Cách đọc CSV trong Python
- Tạo các tệp CSV với Python
- Nối vào tệp CSV có từ điển
- Đọc từ một tệp CSV để ghi sang một tệp khác
- Xóa các cột khỏi các tệp CSV với Python
- Sự kết luận
Điều kiện tiên quyết
Cách đọc CSV trong Python
- Tạo các tệp CSV với Python
- Nối vào tệp CSV có từ điển
Cách đọc CSV trong Python
Tạo các tệp CSV với Python
Nối vào tệp CSV có từ điển
Đọc từ một tệp CSV để ghi sang một tệp khác
Xóa các cột khỏi các tệp CSV với Python
import csv #import to use the csv module
with open['demo_csv.csv', mode="r"] as csv_file: #"r" represents the read mode
reader = csv.reader[csv_file] #this is the reader object
for item in reader:
# you have to loop through the document to get each data
print[item]
Sự kết luận
Hướng dẫn này sẽ là một cuộc biểu tình thực hành. Nếu bạn thích theo dõi, hãy chắc chắn rằng bạn có những điều sau:
Hãy để bắt đầu và xem cách bạn có thể đọc CSV trong Python. Python cung cấp một mô-đun tích hợp có tên
ER45DH"id"="1","first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE"
MU34T3"id"="2","first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016,"opt-in"="0"
.......
0 có nhiều phương pháp khác nhau cho phép bạn làm việc với các tệp CSV, vì vậy hãy để sử dụng điều đó.import csv
with open['demo_csv.csv', mode="r"] as csv_file:
reader = csv.reader[csv_file]
for item in reader:
print[item[1]]# index is added to get a particular column
Để đọc các tệp CSV, mô -đun Python
0 cung cấp một phương thức gọi làER45DH"id"="1","first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE" MU34T3"id"="2","first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016,"opt-in"="0" .......
2. Trước tiên, hãy trình bày cách sử dụng phương pháp này.ER45DH"id"="1","first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE" MU34T3"id"="2","first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016,"opt-in"="0" .......
Tạo các tệp CSV với Python
Nối vào tệp CSV có từ điển
Đọc từ một tệp CSV để ghi sang một tệp khác
Xóa các cột khỏi các tệp CSV với Python
Sự kết luận
Hướng dẫn này sẽ là một cuộc biểu tình thực hành. Nếu bạn thích theo dõi, hãy chắc chắn rằng bạn có những điều sau:
Nối vào tệp CSV có từ điển
Đọc từ một tệp CSV để ghi sang một tệp khác
import csv
# list of column names
field_names = ['Name','Sex','Age','Height [in]','Weight [lbs]']
# Dictionary
dict = {"Name": "Muhammed", "Sex":"F","Age":10, "Height [in]":34, "Weight [lbs]": 139}
with open['demo_csv.csv', 'a'] as csv_file:
dict_object = csv.DictWriter[csv_file, fieldnames=field_names]
dict_object.writerow[dict]
Đọc từ một tệp CSV để ghi sang một tệp khác
Có lẽ bạn đã có một tệp CSV hiện có và muốn sử dụng nó làm đầu vào cho tệp CSV khác. Bạn có thể thực hiện nó bằng cách sử dụng kết hợp chế độ đọc và phương thức
ER45DH"id"="1","first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE"
MU34T3"id"="2","first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016,"opt-in"="0"
.......
2 và chế độ ghi và phương thức 1 "first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE","unique_code"="ASD34R"
2 "first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016","opt-in"="0","unique_code"="SDS56N"
6.Kịch bản sau:
- Mở một tệp hiện có được gọi là
7 ở chế độ đọc1 "first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE","unique_code"="ASD34R" 2 "first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016","opt-in"="0","unique_code"="SDS56N"
- Đọc tệp dưới dạng CSV với phương thức
2ER45DH"id"="1","first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE" MU34T3"id"="2","first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016,"opt-in"="0" .......
- Mở một CSV khác được gọi là
9 ở chế độ ghi1 "first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE","unique_code"="ASD34R" 2 "first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016","opt-in"="0","unique_code"="SDS56N"
- Đọc từng hàng trong tệp CSV nguồn và ghi các vai trò đó trong tệp CSV đích bằng cách sử dụng dấu phân cách
0.import csv #import to use the csv module with open['demo_csv.csv', mode="r"] as csv_file: #"r" represents the read mode reader = csv.reader[csv_file] #this is the reader object for item in reader: # you have to loop through the document to get each data print[item]
import csv
with open["demo_csv.csv", mode="r"] as old_file:
reader_obj = csv.reader[old_file] #read the current csv file
with open["new_demo_csv.csv", mode="w"] as new_file:
writer_obj = csv.writer[new_file, delimiter="-"] # Writes to the new CSV file
for data in reader_obj:
#loop through the read data and write each row in new_demo_csv.csv
writer_obj.writerow[data]
Xóa các cột khỏi các tệp CSV với Python
Hãy để kết thúc hướng dẫn này bằng cách xóa các cột khỏi các tệp CSV. Thật không may, việc loại bỏ các cột không phải là đơn giản như đọc hoặc ghi vào các tệp CSV, nhưng bạn sẽ thấy nó vẫn chắc chắn có thể.
Để xóa các trường khỏi tệp CSV, bạn có thể trực tiếp xóa chúng. Thay vào đó, bạn phải đọc tất cả các trường trong tệp CSV và sau đó ghi vào một tệp CSV khác, không bao gồm tất cả các trường bạn không muốn, như dưới đây.
import csv
with open["demo_csv.csv", mode="r"] as original:
reader_obj = csv.reader[original]
with open["output.csv", mode="w"] as new:
writer_obj = csv.writer[new]
for column in reader_obj:
writer_obj.writerow[[column[0], column[1], column[2]]] # this represents the columns you need
Sự kết luận
Bây giờ bạn nên có một số kiến thức nền tảng để đọc CSV trong Python, ghi vào các tệp CSV và thậm chí xóa các trường khỏi các tệp CSV. Sử dụng mô -đun Python
ER45DH"id"="1","first_name"="Jimmy","last_name"="Reyes","email"="","date"="12/29/2016","opt-in"="FALSE"
MU34T3"id"="2","first_name"="Doris","last_name"="Wood","email"="","date"="04/22/2016,"opt-in"="0"
.......
0 với các phương pháp khác nhau, bạn có thể thực hiện công việc nhanh chóng của các tệp CSV trong Python!Làm thế nào để bạn có kế hoạch kết hợp kiến thức mới được phát hiện này vào các dự án Python của bạn?