Tôi đang sử dụng Azure ML Studio
để đọc dữ liệu từ tệp csv bằng cách tạo tài sản dữ liệu test5
và ghi dữ liệu vào tệp csv cho thư mục làm việc hiện tại của tôi [không thành công]. Tôi đang gửi một Job
bằng cách sử dụng một Compute Cluster
và một Custom Environment
và tôi đang làm theo hướng dẫn từ hướng dẫn. https. //học. Microsoft. com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day
Tôi đã viết mã trong một ô sổ tay như
# Handle to the workspace
from azure.ai.ml import MLClient
# Authentication package
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential[]
# Get a handle to the workspace
ml_client = MLClient[
credential=credential,
subscription_id="abc",
resource_group_name="xyz",
workspace_name="pqr",
]
from azure.ai.ml import command
from azure.ai.ml import Input
registered_model_name = "read_data"
env_name = "docker-context"
job = command[inputs=dict[
data=Input[
type="uri_file",
path="azureml:test5:1",
],
registered_model_name=registered_model_name
],
code="./src/", # location of source code
command="python main.py --data ${{inputs.data}} --registered_model_name ${{inputs.registered_model_name}}",
environment="docker-context:10",
compute="amlcluster01",
experiment_name="read_data1",
display_name="read_data2",
]
ml_client.create_or_update[job]
Điều này hoạt động tốt. Nội dung chính. py là
import os
import argparse
import pandas as pd
def main[]:
print["Hello"]
# input and output arguments
parser = argparse.ArgumentParser[]
parser.add_argument["--data", type=str, help="path to input data"]
parser.add_argument["--registered_model_name", type=str, help="model name"]
args = parser.parse_args[]
print[" ".join[f"{k}={v}" for k, v in vars[args].items[]]]
print["input data:", args.data]
read_data=pd.read_csv[args.data]
#read_data=pd.read_parquet[args.data, engine='pyarrow']
#credit_df = pd.read_excel[args.data, header=1, index_col=0]
print[read_data]
read_data.to_csv[r'/home/azureuser/cloudfiles/code/Users/Ankit19.Gupta/azureml-in-a-day/src/file3.csv']
print["Hello World !"]
if __name__ == "__main__":
main[]
Ở đây, tất cả các dòng mã đều hoạt động tốt ngoại trừ read_data.to_csv[r'/home/azureuser/cloudfiles/code/Users/Ankit19.Gupta/azureml-in-a-day/src/file3.csv']
Nó hiển thị thông báo lỗi như. OSError: Cannot save file into a non-existent directory:/home/azureuser/cloudfiles/code/Users/Ankit19.Gupta/azureml-in-a-day/src
Ai đó có thể vui lòng giúp tôi cách lưu khung dữ liệu vào tệp csv vào thư mục làm việc hiện tại của tôi thông qua Job
. Bất kỳ trợ giúp sẽ được đánh giá cao
Chúng tôi sẽ sử dụng riêng mô-đun
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
2 được tích hợp trong Python cho tác vụ này. Nhưng trước tiên, chúng ta sẽ phải nhập mô-đun dưới dạngimport csv
Chúng tôi đã trình bày những điều cơ bản về cách sử dụng mô-đun
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
2 để đọc và ghi vào tệp CSV. Nếu bạn không có bất kỳ ý tưởng nào về việc sử dụng mô-đun import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
2, hãy xem hướng dẫn của chúng tôi về Python CSV. Đọc và ghi tệp CSVCách sử dụng cơ bản của csv. nhà văn[]
Hãy xem một ví dụ cơ bản về việc sử dụng
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
5_______2_______6import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
7 để làm mới kiến thức hiện tại của bạnví dụ 1. Ghi vào tệp CSV bằng csv. nhà văn[]
Giả sử chúng tôi muốn viết tệp CSV với các mục sau
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming
Đây là cách chúng tôi làm điều đó
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
Khi chúng tôi chạy chương trình trên, một nhà đổi mới. tệp csv được tạo trong thư mục làm việc hiện tại với các mục đã cho
Ở đây, chúng tôi đã mở các nhà đổi mới. tệp csv ở chế độ ghi bằng hàm
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
8Để tìm hiểu thêm về cách mở tệp bằng Python, hãy truy cập. Nhập/xuất tệp Python
Tiếp theo, hàm
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
9 được sử dụng để tạo đối tượng import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
6. Sau đó, hàm import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
1 được sử dụng để ghi các hàng đơn lẻ vào tệp CSVví dụ 2. Viết nhiều hàng với writerows[]
Nếu chúng tôi cần ghi nội dung của danh sách 2 chiều vào tệp CSV, đây là cách chúng tôi có thể thực hiện
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
Đầu ra của chương trình giống như trong Ví dụ 1
Ở đây, danh sách 2 chiều của chúng ta được chuyển đến hàm
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
2 để ghi nội dung của danh sách vào tệp CSVBây giờ hãy xem cách chúng tôi có thể ghi tệp CSV ở các định dạng khác nhau. Sau đó chúng ta sẽ tìm hiểu cách tùy chỉnh hàm
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
9 để viết chúngTệp CSV có Dấu phân cách tùy chỉnh
Theo mặc định, dấu phẩy được sử dụng làm dấu phân cách trong tệp CSV. Tuy nhiên, một số tệp CSV có thể sử dụng dấu phân cách ngoài dấu phẩy. Vài cái phổ biến là
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
4 và import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
5Giả sử chúng ta muốn sử dụng
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
4 làm dấu phân cách trong các nhà đổi mới. tệp csv của Ví dụ 1. Để ghi tệp này, chúng ta có thể truyền thêm tham số import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
7 cho hàm import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
9Hãy lấy một ví dụ
ví dụ 3. Viết tệp CSV có dấu phân cách ống
import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
đầu ra
SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming
Như chúng ta có thể thấy, tham số tùy chọn
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
9 giúp chỉ định đối tượng import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
6 mà tệp CSV nên có import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
4 làm dấu phân cáchTệp CSV có Báo giá
Một số tệp CSV có dấu ngoặc kép quanh mỗi hoặc một số mục nhập
Hãy trích dẫn. csv làm ví dụ, với các mục sau
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"
Sử dụng
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
9 theo mặc định sẽ không thêm các trích dẫn này vào mục nhậpĐể thêm chúng, chúng tôi sẽ phải sử dụng một tham số tùy chọn khác có tên là
import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
3Hãy lấy một ví dụ về cách trích dẫn có thể được sử dụng xung quanh các giá trị không phải là số và
import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
4 làm dấu phân cáchVí dụ 4. Viết tệp CSV có dấu ngoặc kép
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
đầu ra
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"
Ở đây, trích dẫn. csv được tạo trong thư mục làm việc với các mục trên
Như bạn có thể thấy, chúng tôi đã chuyển
import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
5 cho tham số import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
3. Nó là một hằng số được xác định bởi mô-đun import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
2import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
5 chỉ định đối tượng import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
6 mà các trích dẫn sẽ được thêm vào xung quanh các mục nhập không phải là sốCó 3 hằng số được xác định trước khác mà bạn có thể chuyển đến tham số
import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
3SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming
1 - Chỉ định đối tượng
6 để ghi tệp CSV với dấu ngoặc kép xung quanh tất cả các mục nhậpimport csv with open['innovators.csv', 'w', newline=''] as file: writer = csv.writer[file] writer.writerow[["SN", "Name", "Contribution"]] writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]] writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]] writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming
3 - Chỉ định đối tượng
6 chỉ trích dẫn những trường chứa ký tự đặc biệt [dấu phân cách, ký tự trích dẫn hoặc bất kỳ ký tự nào trong bộ kết thúc dòng]import csv with open['innovators.csv', 'w', newline=''] as file: writer = csv.writer[file] writer.writerow[["SN", "Name", "Contribution"]] writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]] writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]] writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming
5 - Chỉ định đối tượng
6 mà không có mục nhập nào được trích dẫn. Nó là giá trị mặc địnhimport csv with open['innovators.csv', 'w', newline=''] as file: writer = csv.writer[file] writer.writerow[["SN", "Name", "Contribution"]] writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]] writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]] writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
Tệp CSV có ký tự trích dẫn tùy chỉnh
Chúng tôi cũng có thể ghi tệp CSV với các ký tự trích dẫn tùy chỉnh. Để làm được điều đó, chúng ta sẽ phải sử dụng một tham số tùy chọn có tên là
SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming7
Hãy lấy một ví dụ về cách viết dấu ngoặc kép. csv trong Ví dụ 4, nhưng với
SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming8 là ký tự trích dẫn
Ví dụ 5. Viết tệp CSV bằng ký tự trích dẫn tùy chỉnh
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
đầu ra
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming0
Ở đây, chúng ta có thể thấy rằng tham số
SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming9 hướng dẫn đối tượng
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
6 sử dụng SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming8 làm trích dẫn cho tất cả các giá trị không phải là số
Phương ngữ trong mô-đun CSV
Lưu ý trong Ví dụ 5 rằng chúng ta đã truyền nhiều tham số [
import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
3, import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
7 và SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming7] cho hàm
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
9Thực hành này được chấp nhận khi xử lý một hoặc hai tệp. Nhưng nó sẽ làm cho mã trở nên thừa và xấu hơn khi chúng ta bắt đầu làm việc với nhiều tệp CSV có định dạng tương tự nhau
Như một giải pháp cho vấn đề này, mô-đun
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
2 cung cấp "SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"7 dưới dạng tham số tùy chọn
Phương ngữ giúp nhóm nhiều mẫu định dạng cụ thể như
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
7, "SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"9,
import csv
data_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file, delimiter='|']
writer.writerows[data_list]
3, import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
1 thành một tên phương ngữ duy nhấtSau đó, nó có thể được truyền dưới dạng tham số cho nhiều phiên bản
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
6 hoặc import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
3Ví dụ 6. Viết tệp CSV bằng phương ngữ
Giả sử chúng ta muốn ghi một tệp CSV [office. csv] với nội dung sau
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming1
Tệp CSV có dấu ngoặc kép xung quanh mỗi mục nhập và sử dụng
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
4 làm dấu phân cáchThay vì chuyển hai mẫu định dạng riêng lẻ, hãy xem cách sử dụng phương ngữ để viết tệp này
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming2
đầu ra
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming1
Đây, văn phòng. csv được tạo trong thư mục làm việc với nội dung trên
Từ ví dụ này, chúng ta có thể thấy rằng hàm
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
5 được sử dụng để xác định một phương ngữ tùy chỉnh. Cú pháp của nó làSN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming4
Phương ngữ tùy chỉnh yêu cầu tên ở dạng chuỗi. Các thông số kỹ thuật khác có thể được thực hiện bằng cách chuyển một lớp con của lớp
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
6 hoặc bằng các mẫu định dạng riêng lẻ như trong ví dụTrong khi tạo đối tượng
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
6, chúng tôi vượt qua import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
8 để chỉ định rằng đối tượng người viết phải sử dụng phương ngữ cụ thể đóƯu điểm của việc sử dụng
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"7 là nó làm cho chương trình trở nên mô-đun hơn. Lưu ý rằng chúng tôi có thể sử dụng lại myDialect để ghi các tệp CSV khác mà không phải chỉ định lại định dạng CSV
Viết tệp CSV bằng csv. DictWriter[]
Các đối tượng của lớp
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"0 có thể được sử dụng để ghi vào tệp CSV từ từ điển Python
Cú pháp tối thiểu của lớp
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"0 là
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming5
Nơi đây,
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"
2 - Tệp CSV mà chúng tôi muốn ghi vào"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"
3 - một đối tượng"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"
4 phải chứa các tiêu đề cột chỉ định thứ tự ghi dữ liệu trong tệp CSV
Ví dụ 7. Python csv. DictWriter[]
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming6
đầu ra
Chương trình tạo một người chơi. csv với các mục sau
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming7
Cú pháp đầy đủ của lớp
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"0 là
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming8
Để tìm hiểu thêm về nó một cách chi tiết, hãy truy cập.
Tệp CSV với lineterminator
Một
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"6 là một chuỗi được sử dụng để kết thúc các dòng được tạo bởi các đối tượng
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
6. Giá trị mặc định là "SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"8. Bạn có thể thay đổi giá trị của nó bằng cách chuyển bất kỳ chuỗi nào dưới dạng tham số
"SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"6
Tuy nhiên, đối tượng
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
3 chỉ nhận ra giá trị import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
1 hoặc import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
2 dưới dạng giá trị "SN";"Name";"Quotes" 1;"Buddha";"What we think we become" 2;"Mark Twain";"Never regret anything that made you smile" 3;"Oscar Wilde";"Be yourself everyone else is already taken"6. Vì vậy, việc sử dụng các ký tự khác làm dấu kết thúc dòng rất không được khuyến khích
doublequote & escapechar trong mô-đun CSV
Để phân tách các ký tự phân cách trong các mục nhập, mô-đun
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
2 theo mặc định trích dẫn các mục nhập bằng dấu ngoặc képVì vậy, nếu bạn có một mục. Anh ấy là một người đàn ông mạnh mẽ, khỏe mạnh, nó sẽ được viết là. "Anh ấy là một người đàn ông mạnh mẽ, khỏe mạnh"
Tương tự, mô-đun
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
2 sử dụng dấu ngoặc kép để thoát khỏi ký tự trích dẫn có trong các mục nhập theo mặc địnhNếu bạn đã có một mục. Chuyển đến "lập trình. com", nó sẽ được viết là. "Chuyển đến "" chương trình. com"""
Ở đây, chúng ta có thể thấy rằng mỗi
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
6 được theo sau bởi một import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
6 để thoát khỏi cái trước đótrích dẫn kép
Nó xử lý cách
SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming7 hiện diện trong mục nhập được trích dẫn. Khi
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
9, ký tự trích dẫn được nhân đôi và khi SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming00,
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
1 được sử dụng làm tiền tố cho SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming7. Theo mặc định, giá trị của nó là
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
9thang thoát hiểm
Tham số
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';']
writer.writerows[row_list]
1 là một chuỗi để thoát khỏi dấu phân cách nếu trích dẫn được đặt thành SN|Name|Contribution 1|Linus Torvalds|Linux Kernel 2|Tim Berners-Lee|World Wide Web 3|Guido van Rossum|Python Programming5 và quotechar nếu trích dẫn kép là
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming00. Giá trị mặc định của nó là Không có
Ví dụ 8. Sử dụng escapechar trong trình soạn thảo csv
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming9
đầu ra
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
0Ở đây, chúng ta có thể thấy rằng
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming07 là tiền tố của tất cả các
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
6 và SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming09 vì chúng ta đã chỉ định
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming10
Nếu nó không được xác định, thì đầu ra sẽ là
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
1Vì chúng tôi cho phép trích dẫn nên các mục có ký tự đặc biệt [trong trường hợp này là ______48_______6] được trích dẫn kép. Các mục có
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
7 cũng được đặt trong các ký tự trích dẫn. [Ký tự trích dẫn bắt đầu và kết thúc]Các ký tự trích dẫn còn lại phải thoát khỏi thực tế
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Buddha", "What we think we become"],
[2, "Mark Twain", "Never regret anything that made you smile"],
[3, "Oscar Wilde", "Be yourself everyone else is already taken"]
]
with open['quotes.csv', 'w', newline=''] as file:
writer = csv.writer[file, quoting=csv.QUOTE_NONNUMERIC,
delimiter=';', quotechar='*']
writer.writerows[row_list]
6 hiện tại như một phần của chuỗi, để chúng không được hiểu là ký tự trích dẫnGhi chú. Mô-đun csv cũng có thể được sử dụng cho các phần mở rộng tệp khác [như. . txt] miễn là nội dung của chúng có cấu trúc phù hợp