Làm cách nào để lưu tệp csv vào thư mục trong python?

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ạng

import 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 CSV

Cá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_______6
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"]]
7 để làm mới kiến ​​thức hiện tại của bạn

ví 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 CSV

ví 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 CSV

Bâ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úng

Tệ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]
5

Giả 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"]]
9

Hã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ách

Tệ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]
3

Hã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ách

Ví 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"]]
2

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 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]
3

  • SN|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
    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 để ghi tệp CSV với dấu ngoặc kép xung quanh tất cả các mục nhập
  • 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
    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ỉ 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]
  • 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
    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à không có mục nhập nào được trích dẫn. Nó là giá trị mặc định

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 Programming
7

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 Programming
8 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 Programming
0

Ở đâ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 Programming
9 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 Programming
8 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 Programming
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"]]
9

Thự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ất

Sau đó, 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]
3

Ví 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 Programming
1

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ách

Thay 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 Programming
2

đầu ra

SN,Name,Contribution
1,Linus Torvalds,Linux Kernel
2,Tim Berners-Lee,World Wide Web
3,Guido van Rossum,Python Programming
1

Đâ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 Programming
4

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 Programming
5

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 Programming
6

đầ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 Programming
7

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 Programming
8

Để 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ép

Vì 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 định

Nế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 Programming
7 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 Programming
00,
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 Programming
7. 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]
9

thang 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 Programming
5 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 Programming
00. 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 Programming
9

đầ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 Programming
07 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 Programming
09 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 Programming
10

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"]]
1

Vì 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ẫn

Ghi 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

Chủ Đề