Làm cách nào để chuyển dữ liệu từ tệp python này sang tệp python khác?

Deepanshu thành lập ListenData với một mục tiêu đơn giản - Làm cho các phân tích trở nên dễ hiểu và dễ theo dõi. Ông có hơn 10 năm kinh nghiệm trong lĩnh vực khoa học dữ liệu. Trong nhiệm kỳ của mình, ông đã làm việc với các khách hàng toàn cầu trong nhiều lĩnh vực khác nhau như Ngân hàng, Bảo hiểm, Cổ phần tư nhân, Viễn thông và Nhân sự

Python cung cấp các mô-đun tích hợp và dễ dàng để sao chép tệp từ nguồn đến đích. Mô-đun (với) cũng đảm nhiệm việc đóng luồng tệp một cách nhẹ nhàng và đảm bảo tài nguyên được dọn sạch khi mã sử dụng tài nguyên tệp kết thúc thực thi

Câu lệnh with làm rõ mã mà trước đây sẽ sử dụng try. các khối cuối cùng để đảm bảo quá trình dọn dẹp mã được thực thi

Nhưng trước khi chúng ta bắt đầu, đây là một mẫu đơn giản mà bạn có thể sử dụng để chạy một tập lệnh Python từ một tập lệnh khác (đối với các tập lệnh Python được lưu trữ trong cùng một thư mục)

import script_name_to_call

Các bước để chạy một tập lệnh Python từ một tập lệnh khác

Bước 1. Đặt các tập lệnh Python trong cùng một thư mục

Để bắt đầu, hãy đặt các tập lệnh Python của bạn vào cùng một thư mục

Ví dụ: giả sử rằng hai tập lệnh Python (được gọi là python_1 và python_2) được lưu trữ trong cùng một thư mục

python_1
python_2

Mục tiêu cuối cùng là chạy tập lệnh python_2 từ tập lệnh python_1

Bước 2. Thêm cú pháp

Tiếp theo, thêm cú pháp vào từng tập lệnh của bạn

Chẳng hạn, hãy thêm cú pháp sau vào tập lệnh python_1

import python_2
print('what are you up to?')

Ở đâu

  • Dòng đầu tiên của 'nhập python_2' trong tập lệnh python_1, sẽ gọi tập lệnh python_2 thứ hai
  • Dòng thứ hai của mã chỉ in biểu thức 'bạn định làm gì?'

Bây giờ hãy thêm cú pháp vào tập lệnh python_2

print('hello world')

Trong trường hợp này, biểu thức 'hello world' sẽ được in khi chạy tập lệnh thứ hai

Lưu ý rằng trước tiên bạn phải lưu cú pháp đã được ghi trong tập lệnh python_2 trước khi gọi nó từ tập lệnh khác

Bước 3. Chạy một tập lệnh Python từ một tập lệnh khác

Bây giờ, bạn sẽ cần chạy tập lệnh từ hộp python_1 để gọi tập lệnh thứ hai

Lưu ý rằng kết quả của tập lệnh python_2 sẽ được hiển thị trước và chỉ sau đó kết quả của tập lệnh python_1 mới được hiển thị

hello world
what are you up to?

Gọi một biến cụ thể từ một tập lệnh Python này sang tập lệnh khác

Bây giờ chúng ta hãy xem cách gọi một biến cụ thể (mà chúng ta sẽ gọi là 'x') từ tập lệnh python_2 vào tập lệnh python_1

Trong trường hợp đó, bạn sẽ cần chỉnh sửa cú pháp trong tập lệnh python_1 thành như sau

import python_2 as p2
print(p2.x)

Tiếp theo, gán một giá trị (e. g. , 'hello world') thành biến 'x' trong tập lệnh python_2

x = 'hello world'

Đừng quên lưu các thay đổi trong tập lệnh python_2

Cuối cùng, hãy chạy cú pháp từ tập lệnh python_1 và bạn sẽ nhận được '7', đây thực sự là tổng của hai biến

Lỗi cú pháp. (lỗi unicode) codec 'unicodeescape' không thể giải mã byte ở vị trí 2-3. rút ngắn \UXXXXXXX thoát

Trong bối cảnh ví dụ của chúng tôi, mã hoàn chỉnh sẽ trông như thế này

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)

Nếu bạn chạy mã bằng Python (được điều chỉnh theo đường dẫn của bạn), bạn sẽ thấy rằng tệp CSV 'sản phẩm' sẽ được sao chép vào thư mục Test_2

Ngoài ra, bạn có thể sao chép một tệp có tên mới

Chẳng hạn, hãy sao chép tệp CSV gốc (có tên tệp là ‘products‘) sang vị trí mới có tên tệp mới (‘new_products‘)

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\new_products.csv'

shutil.copyfile(original, target)

Sau đó, tên tệp mới (được gọi là 'new_products') sẽ được sao chép vào vị trí đích (thư mục Test_2)

Các nguyên tắc tương tự sẽ áp dụng cho các loại tệp khác. Chẳng hạn, giả sử rằng tệp JPG có tên 'hình ảnh' được lưu trữ trong thư mục Test_1

Chúng ta sẽ xem xét một số tùy chọn khác nhau mà bạn có để di chuyển tệp xung quanh bằng Python. Ngoài ra còn có một ví dụ nhanh về cách bạn có thể sử dụng thư viện

x = 'hello world'
8 và
import shutil

shutil.move(old_path, new_path)

Learn Data Science with

Làm cách nào để chuyển dữ liệu từ tệp python này sang tệp python khác?

0 để dọn dẹp thư mục tải xuống của mình trong phần đầu tiên. Vì vậy, nếu bạn là người cần một thứ như thế trong đời, thì hãy tiếp tục đọc

lựa chọn 1. đóng cửa. di chuyển()

Ví dụ hiển thị trong phần giới thiệu sử dụng hàm

import shutil

shutil.move(old_path, new_path)

Learn Data Science with

1 từ thư viện
x = 'hello world'
8. Chức năng này thực hiện những gì bạn mong đợi và di chuyển các tệp từ vị trí này sang vị trí khác, như sau

________số 8

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)
0 hoạt động bằng cách trước tiên tạo một bản sao của tệp với đường dẫn được xác định bởi
import shutil

shutil.move(old_path, new_path)

Learn Data Science with

4 và lưu trữ bản sao ở vị trí mới,
import shutil

shutil.move(old_path, new_path)

Learn Data Science with

5. Cuối cùng, sau khi tạo thành công bản sao, Python sẽ xóa tệp gốc có tại
import shutil

shutil.move(old_path, new_path)

Learn Data Science with

4

Trong trường hợp tệp gốc được bảo vệ,

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)
0 sẽ tạo một bản sao của tệp ở vị trí mới, nhưng Python sẽ không thể xóa tệp gốc

Hầu hết mọi người có các thư mục tải xuống khá lộn xộn. Vì vậy, hãy xem một ví dụ thực tế về cách chúng ta có thể sử dụng

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)
0 để lưu trữ tất cả các hình ảnh trong một thư mục tải xuống trong một thư mục mới có tên là
import shutil

shutil.move(old_path, new_path)

Learn Data Science with

9

import python_2
print('what are you up to?')
5

Chạy tập lệnh này bên trong thư mục tải xuống sẽ di chuyển bất kỳ tệp nào có phần mở rộng

import python_2
print('what are you up to?')
50 hoặc
import python_2
print('what are you up to?')
51 trong thư mục sang thư mục
import python_2
print('what are you up to?')
52. Sử dụng
import python_2
print('what are you up to?')
53 trả về danh sách tất cả các tệp trong thư mục. Sau đó, sử dụng
import python_2
print('what are you up to?')
54, thư mục
import python_2
print('what are you up to?')
52 được tạo. Sử dụng
import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)
0, Python sau đó có thể di chuyển tất cả các tệp trong danh sách
import python_2
print('what are you up to?')
57 của chúng tôi sang thư mục mới. Quá trình này được thể hiện trong sơ đồ dưới đây

Làm cách nào để chuyển dữ liệu từ tệp python này sang tệp python khác?

Có rất nhiều chỗ để cải thiện ở đây. Ví dụ: chúng tôi có thể nâng cấp khả năng hiểu danh sách của mình để bao gồm nhiều loại hình ảnh hơn. Chúng ta cũng nên viết mã trong nhánh

import python_2
print('what are you up to?')
58 để xem thư mục
import python_2
print('what are you up to?')
52 có tồn tại trước khi chạy
print('hello world')
50 không. Cũng không có lý do gì chúng tôi không thể mở rộng tập lệnh này để tạo các thư mục riêng cho tệp PDF, tệp thực thi và bất kỳ thứ gì khác nằm trong thư mục tải xuống của bạn.

Lựa chọn 2. hệ điều hành. đổi tên()

Thư viện

import shutil

shutil.move(old_path, new_path)

Learn Data Science with

0 cũng có một số tùy chọn để di chuyển tệp, một trong số đó là
print('hello world')
52. Chức năng của
print('hello world')
52 hơi khác một chút so với
import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)
0

Thay vì sao chép tệp được đề cập,

print('hello world')
55 thay đổi đường dẫn của tệp, tự động thay đổi vị trí tệp. Xem bên dưới để biết ví dụ về cách chúng tôi có thể áp dụng chức năng

print('hello world')
5

print('hello world')
56 cũng hoạt động. Mặc dù chức năng được gọi là
print('hello world')
57, nhưng nó cũng di chuyển các tệp bằng cách đổi tên chúng.
print('hello world')
56 có thể được triển khai với một mẫu giống hệt với
import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)
0 và
print('hello world')
52

hello world
what are you up to?
5

print('hello world')
56 và
print('hello world')
52 đều có thể được sử dụng để thay đổi tên tệp hoặc thư mục.
print('hello world')
52 báo cáo lỗi khác nhau tùy thuộc vào hệ điều hành bạn đang chạy

Trong khi đó,

print('hello world')
56 sẽ báo cáo lỗi thống nhất trên các hệ thống khác nhau, đây có thể là lựa chọn tốt hơn khi làm việc trên một chương trình cần khả năng tương thích với các hệ điều hành khác nhau

Tùy chọn 3. đường dẫn. Đường dẫn(). đổi tên()

Đối với cách tiếp cận hướng đối tượng hơn để di chuyển tệp,

hello world
what are you up to?
55 cũng là một tùy chọn

Bằng cách sử dụng hàm

hello world
what are you up to?
56, Python tạo một đối tượng
hello world
what are you up to?
57. Phương thức
print('hello world')
55 sau đó thay đổi đường dẫn của đối tượng, tương tự như cách hoạt động của
print('hello world')
52

import python_2 as p2
print(p2.x)
5

Chúng tôi cũng có thể áp dụng

import python_2 as p2
print(p2.x)
50 cho tập lệnh được tạo trước đó để di chuyển hình ảnh ra khỏi thư mục
import python_2 as p2
print(p2.x)
51 của chúng tôi. Xem bên dưới để biết ví dụ về điều này

import python_2 as p2
print(p2.x)
8

Dưới đây là bảng so sánh sự khác biệt về tốc độ của ba cách tiếp cận

import python_2 as p2
print(p2.x)
9

Ngoài

gõmicroseconds1os. đổi tên()50. 550shut. di chuyển()54. 582Pathlib. Đường dẫn()63. 74

Bản tóm tắt

Bạn có một số tùy chọn khi di chuyển tệp xung quanh.

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)
0,
print('hello world')
52 và
print('hello world')
56 đều là những cách tiếp cận tuyệt vời, với cả ba cách tiếp cận này đều sử dụng các đối số
import python_2 as p2
print(p2.x)
55. Đối với cách tiếp cận hướng đối tượng hơn, bạn cũng có thể sử dụng
import python_2 as p2
print(p2.x)
50, cung cấp
hello world
what are you up to?
56 với
import shutil

shutil.move(old_path, new_path)

Learn Data Science with

4 và
print('hello world')
55 với
import shutil

shutil.move(old_path, new_path)

Learn Data Science with

5

Bắt đầu học miễn phí

Nhận thông tin cập nhật trong hộp thư đến của bạn

Tham gia cùng hơn 7.500 người học khoa học dữ liệu

Bài viết gần đây

Ưu đãi khóa học tốt nhất cho Thứ Sáu Đen và Thứ Hai Điện Tử 2022
Hàm sigmoid
chấm sản phẩm
7 khóa học về trí tuệ nhân tạo (AI) tốt nhất năm 2022

Các khóa học Python tốt nhất theo phân tích dữ liệu

Trong số khoảng 3000 dịch vụ, đây là những khóa học Python tốt nhất theo phân tích này

xem bài viết


Nhận thông tin cập nhật trong hộp thư đến của bạn

Tham gia cùng hơn 7.500 người học khoa học dữ liệu

Gặp gỡ các tác giả

Làm cách nào để chuyển dữ liệu từ tệp python này sang tệp python khác?

Nhà khoa học dữ liệu Alfie Grace

Alfie tốt nghiệp Thạc sĩ Kỹ thuật Cơ khí tại Đại học College London. Anh ấy hiện đang làm Nhà khoa học dữ liệu tại Square Enix. Tìm anh ấy trên LinkedIn