Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Làm cách nào để làm cho chức năng df.to_excel của tôi ghi vào đường dẫn đầu ra? Sau khi tập lệnh của tôi chạy, tôi không thấy các tệp trong thư mục output_path mà tôi đã xác định.

import pandas as pd
from openpyxl import load_workbook
import os
import datetime

output_path = 'C:/Users/g/Desktop/autotranscribe/python/Processed'

path = 'C:/Users/g/Desktop/autotranscribe/python/Matching'

cols_to_drop =  ['PSI ID','PSIvet Region','PSIvet region num','Fax','County']               
 
column_name_update_map = {'Account name': 'Company Name','Billing address':'Address','Billing city':'City','Billing State':'State'} 

for file in os.listdir("C:/Users/g/Desktop/autotranscribe/python/Matching"):
    if file.startswith("PSI") and "(updated headers)" not in file:
        dfs = pd.read_excel(file, sheet_name=None,skiprows=5)
        output = dict()
        for ws, df in dfs.items():
            if ws.startswith("Cancelled Members"): df = df.drop('Active date', axis=1)
            if any(ws.startswith(x) for x in ["New Members","PVCC"]):
                continue
            #if ws in ["New Members 03.22","PVCC"]:   #sheetstoavoid
            temp = df
            dt = pd.to_datetime(os.path.getctime(os.path.join(path,file)),unit="s").replace(nanosecond=0)
            output[ws] = temp
        writer = pd.ExcelWriter(f'{file.replace(".xlsx","")} (updated headers).xlsx')
        for ws, df in output.items():
            df.to_excel(writer, index=None, sheet_name=ws)
        writer.save()
        writer.close()

Tôi đã thử

pip install xlrd
2

Nhưng tôi nhận được một tệp lỗi "", dòng 36, trong df.to_excel (writer, output_path, index = none, sheet_name = ws)

TypeError: to_excel () có nhiều giá trị cho đối số 'sheet_name'.

Chương 4. Làm việc với các tệp ExcelWorking with Excel Files

Không giống như dữ liệu của chương trước, không phải tất cả dữ liệu trong này và chương sau sẽ dễ dàng nhập vào Python mà không cần một chút công việc. Điều này là do một số định dạng dữ liệu được tạo ra để có thể đọc được máy, trong khi những định dạng khác, chẳng hạn như các định dạng mà chúng ta sẽ xem xét tiếp theo, có nghĩa là được tương tác với các công cụ máy tính để bàn. Trong chương này và tiếp theo, chúng tôi sẽ xem xét hai loại tệp excel và pdfs và cung cấp một số hướng dẫn chung để làm theo nếu bạn gặp phải một loại tệp khác.

Cho đến nay trong cuốn sách này, các giải pháp mà bạn đã tìm hiểu về việc nhập dữ liệu là khá tiêu chuẩn. Trong chương này, chúng tôi sẽ bắt đầu tìm hiểu về các quá trình sẽ thay đổi rất nhiều mỗi khi bạn thực hiện chúng. Mặc dù các quy trình khó khăn hơn, mục tiêu cuối cùng là như nhau: trích xuất các thông tin hữu ích và đưa nó vào một định dạng có thể sử dụng trong Python.

Các ví dụ chúng tôi sử dụng trong chương này và tiếp theo chứa dữ liệu từ báo cáo năm 2014 của UNICEF về tình trạng của trẻ em thế giới. Dữ liệu có sẵn ở định dạng PDF và Excel.

Khi bạn phải trích xuất dữ liệu từ các tệp ở các định dạng khó khăn hơn này, bạn có thể nghĩ rằng có ai đó ghét bạn, vì nó có thể gây đau đớn. Chúng tôi đảm bảo với bạn trong hầu hết các trường hợp, người đã tạo tệp với dữ liệu bên trong chỉ đơn giản là không xác định tầm quan trọng của việc phát hành nó ở định dạng có thể đọc được bằng máy.

Cài đặt các gói Python

Trước khi chúng ta có thể tiếp tục, chúng ta cần tìm hiểu cách cài đặt các gói Python bên ngoài (hoặc thư viện). Cho đến thời điểm này, chúng tôi đã sử dụng các thư viện Python đạt tiêu chuẩn với Python khi bạn cài đặt nó. Bạn có nhớ nhập các gói

pip install xlrd
3 và
pip install xlrd
4 trong Chương & NBSP; 3 không? Đó là những gói trong thư viện tiêu chuẩn, họ đi kèm với cài đặt Python của bạn.

Python đi kèm với một tập hợp các thư viện được sử dụng thường xuyên. Bởi vì nhiều thư viện phục vụ một mục đích thích hợp, bạn phải cài đặt chúng một cách rõ ràng. Điều này là vì vậy máy tính của bạn không bị cồng kềnh với mọi thư viện Python có sẵn.

Các gói Python được thu thập trong một thư mục trực tuyến có tên PYPI, nơi lưu trữ các gói cùng với siêu dữ liệu của chúng và bất kỳ tài liệu nào.

Trong chương này, chúng tôi đang xem xét các tập tin Excel. Nếu bạn truy cập PYPI trong trình duyệt của mình, bạn có thể tìm kiếm các thư viện liên quan đến Excel và xem danh sách kết quả gói phù hợp bạn có thể tải xuống. Đây là một cách để khám phá gói nào bạn nên sử dụng.

Chúng tôi sẽ sử dụng PIP từ thời điểm này để cài đặt các gói. Có nhiều cách để cài đặt PIP, và bạn nên đã làm như vậy trong Chương & NBSP; 1 của cuốn sách này.

Đầu tiên, chúng tôi sẽ đánh giá dữ liệu Excel. Hãy cài đặt gói để làm điều đó

pip install xlrd
5. Để cài đặt gói, chúng tôi sử dụng PIP theo cách sau:

pip install xlrd

Để xóa gói, chúng tôi sẽ chạy lệnh

pip install xlrd
6:

pip uninstall xlrd

Hãy thử cài đặt, gỡ cài đặt, và sau đó cài đặt lại

pip install xlrd
5. Thật tốt khi được xử lý các lệnh
pip install xlrd
8, vì bạn sẽ sử dụng chúng trong suốt cuốn sách này và sự nghiệp gây tranh cãi dữ liệu của bạn.

Tại sao chúng tôi chọn

pip install xlrd
5 khi có nhiều gói có thể? Chọn một thư viện Python là một quá trình không hoàn hảo. Có nhiều cách khác nhau để đi về lựa chọn của bạn. Đừng lo lắng về việc cố gắng tìm ra thư viện phù hợp là gì. Khi bạn đang hoàn thiện các kỹ năng của mình và bạn tìm thấy một vài tùy chọn, hãy sử dụng thư viện có ý nghĩa với bạn.

Điều đầu tiên chúng tôi đề xuất là tìm kiếm trên web để xem thư viện nào người khác đề xuất. Nếu bạn tìm kiếm ex excel bằng Pythonâ, bạn sẽ tìm thấy các bề mặt thư viện

pip install xlrd
5 ở đầu kết quả tìm kiếm.

Tuy nhiên, câu trả lời không phải lúc nào cũng rõ ràng. Trong Chương & NBSP; 13, chúng ta sẽ tìm hiểu thêm về quá trình lựa chọn khi xem xét các thư viện Twitter.

Phân tích các tập tin excel

Đôi khi, cách dễ nhất để trích xuất dữ liệu từ một tờ Excel là tìm ra cách tốt hơn để lấy dữ liệu. Có những lúc phân tích cú pháp không phải là câu trả lời. Trước khi bạn bắt đầu phân tích cú pháp, hãy tự hỏi mình những câu hỏi sau:

  • Bạn đã cố gắng tìm dữ liệu ở dạng khác chưa? Đôi khi các hình thức khác có thể có sẵn từ cùng một nguồn.

  • Bạn đã cố gắng sử dụng điện thoại để tìm hiểu xem dữ liệu có sẵn ở dạng khác không? Kiểm tra Chương & NBSP; 6 để biết thêm mẹo.

  • Bạn đã thử xuất các tab hoặc tab vào biểu mẫu CSV từ Excel (hoặc đầu đọc tài liệu của bạn) chưa? Đây là một giải pháp tốt nếu bạn chỉ có một vài tab dữ liệu hoặc dữ liệu bị cô lập trong một tab trên bảng Excel.

Nếu bạn đã cạn kiệt các tùy chọn này và bạn vẫn không có dữ liệu bạn cần, bạn sẽ cần sử dụng Python để phân tích tệp Excel của bạn.

Bắt đầu với phân tích cú pháp

Thư viện chúng tôi xác định cho các tệp excel phân tích cú pháp là

pip install xlrd
5. Thư viện này là một phần của một loạt các thư viện để làm việc với các tệp Excel trong Python.

Có ba thư viện chính để xử lý các tệp Excel:

pip install xlrd
5

Đọc các tập tin Excel

python parse_excel.py
3

Ghi và định dạng các tệp excel

python parse_excel.py
4

Một tập hợp các công cụ cho các hoạt động nâng cao hơn trong Excel (yêu cầu

pip install xlrd
5 và
python parse_excel.py
3)

Bạn sẽ cần cài đặt riêng biệt nếu bạn muốn sử dụng chúng; Tuy nhiên, trong chương này, chúng tôi sẽ chỉ sử dụng

pip install xlrd
5. Bởi vì chúng tôi muốn đọc các tệp Excel vào Python, bạn sẽ cần đảm bảo rằng bạn đã cài đặt
pip install xlrd
5 trước khi tiếp tục:

pip install xlrd

Thiết lập môi trường làm việc của bạn cho tệp excel này bằng cách thực hiện như sau (hoặc một cái gì đó giống như nó, tùy thuộc vào hệ thống tổ chức của bạn):

  1. Tạo một thư mục cho công việc excel của bạn.

  2. Tạo một tệp python mới có tên parse_excel.py và đặt nó vào thư mục bạn đã tạo.

  3. Đặt tệp Excel từ kho lưu trữ của Sách có tên là SOWC 2014 Stat Tables_Table 9.xlsx trong cùng một thư mục.

Từ thư mục này, hãy nhập lệnh sau vào thiết bị đầu cuối của bạn để chạy tập lệnh từ dòng lệnh:

python parse_excel.py

Đến cuối chương này, chúng tôi sẽ viết một kịch bản để phân tích dữ liệu hôn nhân và lao động trẻ em được lưu trữ trong tệp Excel này.

Để bắt đầu kịch bản của chúng tôi, chúng tôi cần nhập

pip install xlrd
5 và mở sổ làm việc Excel của chúng tôi bằng Python. Chúng tôi lưu trữ tệp đã mở trong biến
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
0:

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

Không giống như CSV, Sách Excel có thể có nhiều tab hoặc tờ. Để nhận được dữ liệu của chúng tôi, chúng tôi sẽ chỉ rút ra trang tính với dữ liệu chúng tôi muốn.

Nếu bạn có một vài tờ, bạn chỉ có thể đoán được chỉ số, nhưng điều đó sẽ không hoạt động nếu bạn có nhiều tờ. Vì vậy, bạn nên biết về sổ lệnh.sheet_by_name (________ 51), trong đó

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
1 là tên của trang tính bạn muốn truy cập.

Hãy kiểm tra tên của các tờ chúng ta có:

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name

Tờ mà chúng tôi đang tìm kiếm là

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
3. Vì vậy, hãy đưa nó vào kịch bản của chúng tôi:

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
sheet = book.sheet_by_name('Table 9')

print sheet

Nếu bạn chạy mã đó, nó sẽ thoát với một lỗi cung cấp cho bạn thông tin sau:information:

xlrd.biffh.XLRDError: No sheet named <'Table 9'>

Tại thời điểm này, bạn có thể thực sự bối rối. Vấn đề nằm ở sự khác biệt giữa những gì chúng ta thấy và những gì thực sự tồn tại.

Nếu bạn mở sổ làm việc Excel của mình và chọn tên của tờ bằng cách nhấp đúp vào nó, bạn sẽ thấy rằng có thêm một khoảng trống ở cuối. Không gian này không thể nhìn thấy đối với người dùng trong trình duyệt. Trong Chương & NBSP; 7, chúng ta sẽ học cách khắc phục sự cố này trong Python. Hiện tại, hãy cập nhật mã của bạn để phản ánh không gian.

Thay đổi dòng này:

sheet = book.sheet_by_name('Table 9')

với điều này:

pip install xlrd
0

Bây giờ, nếu chúng ta chạy kịch bản của chúng ta thì nó sẽ hoạt động. Bạn sẽ thấy đầu ra tương tự như thế này:

pip install xlrd
1

Hãy khám phá những gì chúng ta có thể làm với một tờ. Thêm phần sau sau khi bạn gán biến

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
4 và chạy lại tập lệnh của bạn:

pip install xlrd
2

Trong danh sách trả lại, bạn sẽ thấy một phương thức gọi là

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
5. Chúng tôi sẽ sử dụng phương pháp này để lặp lại trên tất cả các hàng. Nếu chúng tôi viết
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
6, tổng số hàng sẽ được trả lại.

Hãy thử ngay bây giờ:

pip install xlrd
3

Bạn nên lấy lại

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
7. Chúng ta cần lặp lại trên mỗi hàng, điều đó có nghĩa là chúng ta cần một vòng
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8. Như chúng tôi đã học trong cách nhập dữ liệu CSV,
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 lặp lặp lại các mục trong danh sách, vì vậy chúng tôi cần biến
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
7 thành một danh sách chúng tôi có thể lặp lại hơn 303 lần. Để làm điều này, chúng tôi sẽ sử dụng hàm
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
1.

Với việc bổ sung hàm

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
1, chúng tôi có thể chuyển đổi
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
7 thành một danh sách vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 của chúng tôi có thể lặp lại, tập lệnh của chúng tôi sẽ trông giống như sau:

pip install xlrd
4Loops trên Chỉ số
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
5 trong
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
6, sẽ là danh sách 303 số nguyên tăng thêm một.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Loops over the index

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
5 in
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
6, which will be a list of 303 integers incrementing by one.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Đầu ra

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
5, sẽ là các số từ 0 đến 302.

Từ đây, chúng ta cần phải tra cứu trên mỗi hàng để rút nội dung của mỗi hàng thay vì chỉ in số. Để thực hiện tra cứu, chúng tôi sẽ sử dụng

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
5 làm tham chiếu chỉ mục để thực hiện hàng thứ n.

Để có được các giá trị của mỗi hàng, chúng tôi sẽ sử dụng

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
9, đó là một phương thức khác được trả về bởi
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
sheet = book.sheet_by_name('Table 9')

print sheet
0 trước đó. Chúng ta có thể thấy từ tài liệu
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
9 rằng phương thức mong đợi một số chỉ mục và trả về các giá trị hàng tương ứng. Cập nhật vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 của bạn để phản ánh điều này và chạy lại tập lệnh của bạn:

pip install xlrd
5Uses
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
5 làm chỉ số để tra cứu các giá trị của hàng. Bởi vì nó nằm trong vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 trải dài chiều dài của trang tính, chúng tôi gọi phương thức này cho mỗi hàng trong bảng của chúng tôi.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Uses

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
5 as the index to look up the row’s values. Because it is in a
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 loop that spans the length of the sheet, we call this method for each row in our sheet.

Khi bạn chạy mã này, bạn sẽ thấy một danh sách cho mỗi hàng. Sau đây là một tập hợp con của dữ liệu bạn sẽ thấy:

pip install xlrd
6

Bây giờ chúng ta có thể thấy từng hàng, chúng ta cần rút thông tin chúng ta muốn. Để giúp chúng tôi xác định thông tin nào chúng tôi cần và làm thế nào để có được nó, việc mở tệp trong một chương trình hiển thị các tệp Excel, chẳng hạn như Microsoft Excel trên Windows hoặc số trên Mac. Nếu bạn truy cập tab thứ hai trên bảng tính, bạn sẽ nhận thấy khá nhiều hàng tiêu đề.

Ghi chú

Trong mã của chúng tôi, chúng tôi sẽ nhắm đến việc lấy văn bản tiếng Anh. Tuy nhiên, nếu bạn muốn có một thử thách thêm, hãy cố gắng rút ra các tiêu đề và quốc gia của Pháp hoặc Tây Ban Nha.

Trên tab thứ hai, hãy xem thông tin bạn có thể trích xuất và suy nghĩ về cách tổ chức tốt nhất nó. Chúng tôi cung cấp một cách có thể để làm điều này ở đây, nhưng có nhiều cách khác nhau sử dụng các cấu trúc dữ liệu khác nhau.

Đối với bài tập này, chúng tôi sẽ rút ra thống kê hôn nhân và lao động trẻ em. Sau đây là một cách để tổ chức dữ liệu mà chúng ta sẽ sử dụng điều này như một ví dụ để làm việc hướng tới:

pip install xlrd
7 nếu bạn đang xem dữ liệu trong Excel, một số số trong số này có thể xuất hiện. Điều này là do Excel thường sẽ số tròn. Chúng tôi đang hiển thị các số bạn sẽ tìm thấy khi bạn sử dụng Python để phân tích các ô.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

If you are viewing the data in Excel, some of these numbers might appear off. This is because Excel will often round numbers. We are showing the numbers you will find when you use Python to parse the cells.

Mẹo

Lập kế hoạch những gì bạn muốn kết quả trông như thế nào và viết một ví dụ về dữ liệu của bạn sẽ giúp bạn tiết kiệm thời gian khi bạn bắt đầu mã hóa. Một khi bạn đã xác định được cách bạn muốn định dạng dữ liệu của mình, bạn có thể tự hỏi mình, tôi cần làm gì tiếp theo để đến đó? Điều này đặc biệt hữu ích khi bạn cảm thấy bị chặn ở bước tiếp theo.

Có hai cấu trúc Python mà chúng tôi sẽ sử dụng để rút dữ liệu ra. Phương pháp đầu tiên chúng tôi sẽ sử dụng là vòng lặp

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 lồng nhau, đó là vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 bên trong vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 khác. Điều này thường được sử dụng khi bạn có các hàng x có chứa các đối tượng y. Để truy cập vào mỗi đối tượng, bạn cần một vòng
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 cho mỗi hàng, sau đó một vòng
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 khác cho mỗi đối tượng. Chúng tôi cũng đã sử dụng một vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 lồng nhau trong một ví dụ trong Chương & NBSP; 3.

Chúng tôi sẽ sử dụng vòng lặp

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 lồng nhau để xuất từng ô từ mỗi hàng. Điều này sẽ xuất ra các mục chúng tôi đã thấy trước đó, nơi mỗi hàng được liệt kê.

pip install xlrd
8Takes Danh sách là mỗi hàng và lưu nó vào biến
xlrd.biffh.XLRDError: No sheet named <'Table 9'>
2. Điều này làm cho mã của chúng tôi dễ đọc hơn.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Takes the list that is each row and saves it to the

xlrd.biffh.XLRDError: No sheet named <'Table 9'>
2 variable. This makes our code more readable.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Các vòng lặp qua từng mục trong danh sách, đại diện cho mỗi ô cho hàng hiện tại.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Đầu ra giá trị ô.

Nếu bạn chạy mã hoàn chỉnh của mình với vòng lặp

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 lồng nhau, bạn sẽ nhận thấy đầu ra của bạn không còn hữu ích nữa. Điều đó đưa chúng ta đến cơ chế thứ hai để khám phá tập tin Excel của chúng tôi là một bộ đếm.

Hãy thêm một bộ đếm vào mã của chúng tôi để chúng tôi có thể bước qua các ô và hàng để tìm những gì chúng tôi muốn rút ra. Hãy cẩn thận ở nơi bạn đặt bộ đếm, bạn sẽ có kết quả rất khác nhau nếu bạn đặt nó ở cấp độ ô so với mức hàng.

Đặt lại vòng lặp

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 của bạn để trông giống như mã được hiển thị ở đây:

pip install xlrd
9Outputs
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
5 và hàng để chúng ta thực sự có thể xem số hàng nào có thông tin nào
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Outputs

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
5 and the row so we can actually see which row number has which information

Bây giờ, nếu chúng ta quay trở lại những gì chúng ta muốn đầu ra cuối cùng của chúng ta trông như thế nào, những gì chúng ta thực sự cần tìm ra là nơi tên quốc gia bắt đầu. Hãy nhớ rằng, tên quốc gia là khóa đầu tiên của từ điển đầu ra của chúng tôi:

pip uninstall xlrd
0

Nếu bạn chạy tập lệnh của mình với bộ đếm trong đó

xlrd.biffh.XLRDError: No sheet named <'Table 9'>
6, bạn sẽ thấy từ đầu ra mà chúng tôi chưa đến được nơi mà quốc gia bắt đầu.

Bởi vì chúng tôi đang bỏ qua một vài dòng để truy cập dữ liệu mà chúng tôi quan tâm, chúng tôi đang tìm cách xác định số hàng nào chúng tôi sẽ cần để bắt đầu thu thập dữ liệu của mình. Từ nỗ lực trước đây của chúng tôi, chúng tôi biết tên quốc gia bắt đầu qua hàng 10. Nhưng làm thế nào chúng tôi có thể biết bắt đầu từ đâu?

Câu trả lời là trong ví dụ mã tiếp theo, nhưng trước khi bạn nhìn, hãy thử cập nhật bộ đếm để bắt đầu ở hàng nơi tên quốc gia bắt đầu. .

Sau khi bạn xác định số hàng thích hợp, bạn sẽ cần thêm câu lệnh

xlrd.biffh.XLRDError: No sheet named <'Table 9'>
7 để bắt đầu rút ra các giá trị sau hàng đó. Điều này là vì vậy chúng tôi chỉ làm việc với dữ liệu bên dưới dòng đó.

Nếu bạn có thể làm việc đó, mã của bạn sẽ thích một cái gì đó như thế này:

pip uninstall xlrd
1 dòng này sẽ lặp lại qua 20 hàng đầu tiên để xác định hàng tên quốc gia bắt đầu.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

This line will iterate through the first 20 rows to identify which row the country names begin on.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Tuyên bố

xlrd.biffh.XLRDError: No sheet named <'Table 9'>
7 này bắt đầu đầu ra tại điểm các hàng quốc gia xuất hiện.

Tại thời điểm này, bạn nên có đầu ra trông như thế này:

pip uninstall xlrd
2

Bây giờ, chúng ta cần biến mỗi hàng thành định dạng từ điển của chúng ta. Điều này sẽ làm cho dữ liệu có ý nghĩa hơn đối với chúng tôi khi chúng tôi cố gắng làm những việc khác với nó trong các chương trong tương lai.

Nhìn lại ví dụ trước đây của chúng tôi về cách chúng tôi muốn đầu ra của chúng tôi được tổ chức, chúng tôi sẽ cần một từ điển và chúng tôi sẽ sử dụng các quốc gia làm chìa khóa. Để rút ra tên quốc gia, chúng ta sẽ cần phải thực hiện một số lập chỉ mục.

Hãy thêm một từ điển vào mã của chúng tôi, và sau đó rút tên quốc gia ra khỏi mỗi hàng và thêm nó làm chìa khóa cho từ điển của chúng tôi.

Cập nhật vòng lặp

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 của bạn để phản ánh điều này:

pip uninstall xlrd
3 Điều này tạo ra một từ điển trống để lưu trữ dữ liệu của chúng tôi.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

This creates an empty dictionary to store our data.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

sheet = book.sheet_by_name('Table 9')
0 rút ra đất nước từ mỗi hàng chúng tôi lặp lại.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

sheet = book.sheet_by_name('Table 9')
1 thêm đất nước làm chìa khóa cho từ điển
sheet = book.sheet_by_name('Table 9')
2. Chúng tôi đặt giá trị cho một từ điển khác, bởi vì đó là nơi chúng tôi sẽ lưu trữ dữ liệu của chúng tôi trong các bước sau.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Điều này xuất ra dữ liệu, vì vậy chúng ta có thể thấy nó trông như thế nào.

Tại thời điểm này, đầu ra của bạn sẽ trông giống như thế này:

pip uninstall xlrd
4

Bây giờ, chúng ta cần phải khớp với từng giá trị trong phần còn lại của hàng với các giá trị thích hợp trong bảng tính, sau đó lưu trữ chúng trong từ điển của chúng ta.

Ghi chú

Khi bạn cố gắng rút ra tất cả các giá trị và kiểm tra chúng so với bảng Excel của bạn, bạn sẽ mắc nhiều lỗi. Đó là tốt và mong đợi. Quá trình này nên được chấp nhận, điều đó có nghĩa là bạn đang làm việc theo cách của mình thông qua vấn đề.

Đầu tiên, hãy tạo một phiên bản trống của cấu trúc dữ liệu của chúng tôi, nơi chúng tôi có thể lưu trữ dữ liệu của mình. Cũng hãy xóa bộ đếm của chúng tôi, vì chúng tôi biết rằng các hàng dữ liệu bắt đầu ở dòng 14. Vì chúng tôi biết

sheet = book.sheet_by_name('Table 9')
3 có thể chấp nhận điểm bắt đầu và điểm cuối, chúng tôi có thể bắt đầu đếm ở mức 14 và kết thúc vào cuối tệp. Hãy xem mã cập nhật của chúng tôi:

pip uninstall xlrd
5 Chúng tôi có thể xóa tất cả các tài liệu tham khảo của chúng tôi vào bộ đếm và chỉ cần bắt đầu vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 của chúng tôi bắt đầu từ hàng thứ 14 của trang tính của chúng tôi. Dòng này bắt đầu vòng lặp với giá trị 14, vì vậy chúng tôi tự động bỏ qua các dòng chúng tôi không cần cho bộ dữ liệu của mình.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

We can remove all of our references to the counter and just begin our

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 loop starting at the 14th row of our sheet. This line begins the loop with a value of 14, so we automatically skip the lines we don’t need for our dataset.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Dòng này mở rộng từ điển sang nhiều dòng để điền vào các điểm dữ liệu khác.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Điều này tạo ra khóa

sheet = book.sheet_by_name('Table 9')
5 và đặt nó bằng với một từ điển khác.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Từ điển có các chuỗi để giải thích từng phần của dữ liệu mà nó lưu giữ. Đối với mỗi khóa này, các giá trị là danh sách.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Điều này đưa ra các giá trị liên quan đến khóa

sheet = book.sheet_by_name('Table 9')
6.

Dữ liệu đầu ra của chúng tôi cho

sheet = book.sheet_by_name('Table 9')
6 trông như thế này:

pip uninstall xlrd
6

Bây giờ hãy điền dữ liệu. Bởi vì chúng tôi có quyền truy cập vào mỗi cột của mỗi hàng bằng chỉ mục, chúng tôi có thể điền vào các danh sách này với các giá trị từ trang tính. Bằng cách nhìn vào tờ của chúng tôi và xếp hàng cột nào liên quan đến phần dữ liệu nào, chúng tôi có thể cập nhật từ điển dữ liệu để phản ánh những điều sau đây:

pip uninstall xlrd
7 Vì có hai ô cho mỗi cột, mã của chúng tôi lưu trữ cả hai giá trị. Bởi vì trong dòng này, tổng số lao động trẻ em của chúng tôi là cột thứ năm và thứ sáu và chúng tôi biết Python là không chỉ số, chúng tôi muốn các chỉ số thứ tư và thứ năm.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Because there are two cells for each of the columns, our code stores both values. Because in this line our child labor totals are the fifth and sixth columns and we know Python is zero-indexed, we want the fourth and fifth indexes.

Khi chúng tôi chạy lại mã của mình, chúng tôi sẽ nhận được đầu ra như thế này:

pip uninstall xlrd
8

Cảnh báo

Trước khi bạn tiếp tục, xuất một vài hồ sơ và kiểm tra số trong từ điển. Thật dễ dàng để kết thúc một chỉ mục và phá hỏng phần còn lại của dữ liệu của bạn.

Cuối cùng, để xem trước dữ liệu của chúng tôi, chúng tôi có thể sử dụng

sheet = book.sheet_by_name('Table 9')
8 thay vì câu lệnh
sheet = book.sheet_by_name('Table 9')
9. Trong các cấu trúc dữ liệu phức tạp (như từ điển), điều này giúp xem xét lại đầu ra dễ dàng hơn rất nhiều. Thêm phần sau vào cuối tệp của bạn để xem trước dữ liệu theo kiểu định dạng:

pip uninstall xlrd
9Imports Thư viện
sheet = book.sheet_by_name('Table 9')
8. Thông thường, các câu lệnh
pip install xlrd
01 xuất hiện ở đầu tệp, nhưng chúng tôi đang đặt nó ở đây để đơn giản. Sau khi hoàn thành, bạn sẽ muốn xóa các dòng này, vì chúng không quan trọng đối với kịch bản của bạn.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Imports the

sheet = book.sheet_by_name('Table 9')
8 library. Normally,
pip install xlrd
01 statements come at the beginning of the file, but we are putting it here for simplicity. After you are done, you will want to delete these lines, because they are not critical to your script.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Chuyển dữ liệu cho hàm

pip install xlrd
02.

Nếu bạn cuộn qua đầu ra của mình, bạn sẽ nhận thấy phần lớn trong số đó có vẻ tốt. Nhưng có một vài hồ sơ dường như không đúng chỗ.

Nếu bạn nhìn vào bảng tính, bạn nên lưu ý hàng cuối cùng cho các quốc gia là Zimbabwe. Vì vậy, chúng tôi muốn tìm kiếm khi đất nước bằng

pip install xlrd
03 và thoát ra đó. Để thoát, chúng tôi thêm
pip install xlrd
04 vào mã của chúng tôi, đó là cách chúng tôi phá vỡ vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 để tiếp tục với phần còn lại của tập lệnh. Hãy thêm vào đó là điểm dừng của chúng tôi. Vào cuối vòng
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8, thêm phần sau và chạy lại mã của bạn:

pip install xlrd
0 nếu đất nước này bằng với Zimbabweâ ¦
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

If the country is equal to Zimbabwe…

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Thoát ra khỏi vòng

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8.

Cảnh báo

Trước khi bạn tiếp tục, xuất một vài hồ sơ và kiểm tra số trong từ điển. Thật dễ dàng để kết thúc một chỉ mục và phá hỏng phần còn lại của dữ liệu của bạn.

Cuối cùng, để xem trước dữ liệu của chúng tôi, chúng tôi có thể sử dụng

sheet = book.sheet_by_name('Table 9')
8 thay vì câu lệnh
sheet = book.sheet_by_name('Table 9')
9. Trong các cấu trúc dữ liệu phức tạp (như từ điển), điều này giúp xem xét lại đầu ra dễ dàng hơn rất nhiều. Thêm phần sau vào cuối tệp của bạn để xem trước dữ liệu theo kiểu định dạng:

pip uninstall xlrd
9Imports Thư viện
sheet = book.sheet_by_name('Table 9')
8. Thông thường, các câu lệnh
pip install xlrd
01 xuất hiện ở đầu tệp, nhưng chúng tôi đang đặt nó ở đây để đơn giản. Sau khi hoàn thành, bạn sẽ muốn xóa các dòng này, vì chúng không quan trọng đối với kịch bản của bạn.

Chuyển dữ liệu cho hàm

pip install xlrd
02.

Nếu bạn cuộn qua đầu ra của mình, bạn sẽ nhận thấy phần lớn trong số đó có vẻ tốt. Nhưng có một vài hồ sơ dường như không đúng chỗ.
Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

This is a multiline comment used to generally describe what is going on in this script.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

Nếu bạn nhìn vào bảng tính, bạn nên lưu ý hàng cuối cùng cho các quốc gia là Zimbabwe. Vì vậy, chúng tôi muốn tìm kiếm khi đất nước bằng

pip install xlrd
03 và thoát ra đó. Để thoát, chúng tôi thêm
pip install xlrd
04 vào mã của chúng tôi, đó là cách chúng tôi phá vỡ vòng lặp
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 để tiếp tục với phần còn lại của tập lệnh. Hãy thêm vào đó là điểm dừng của chúng tôi. Vào cuối vòng
import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8, thêm phần sau và chạy lại mã của bạn:earlier.

Hướng dẫn how do you send an excel file to the path in python? - làm cách nào để bạn gửi tệp excel tới đường dẫn trong python?

pip install xlrd
0 nếu đất nước này bằng với Zimbabweâ ¦

Thoát ra khỏi vòng

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8.

Bản tóm tắt

Định dạng Excel là một danh mục giữa các loại có thể đọc được. Các tệp Excel không có nghĩa là được đọc bởi các chương trình, nhưng chúng có thể phân tích được.

Để xử lý định dạng không đạt tiêu chuẩn này, chúng tôi phải cài đặt các thư viện bên ngoài. Có hai cách để tìm thư viện: bằng cách xem trên PYPI, chỉ mục gói Python hoặc bằng cách tìm kiếm các hướng dẫn và cách xem những gì người khác đã làm.

Khi bạn đã xác định thư viện bạn muốn cài đặt, hãy sử dụng lệnh

pip install xlrd
16 để thực hiện nó; Để gỡ cài đặt thư viện, sử dụng
pip install xlrd
17.

Bên cạnh việc học cách phân tích Excel bằng thư viện

pip install xlrd
5, chúng tôi cũng đã học được một vài khái niệm lập trình Python mới, được tóm tắt trong bảng & NBSP; 4-1.

Bảng 4-1. Khái niệm lập trình Python mớiNew Python programming concepts
Ý tưởngMục đích

phạm vi và xrange

Điều này biến một số thành một danh sách liên tiếp các số. Ví dụ:

pip install xlrd
19 sẽ xuất ra
pip install xlrd
20.
pip install xlrd
20
.

Đếm bắt đầu từ 0, không phải 1

Đây là một cấu trúc máy tính để nhận thức được; Nó xảy ra trong suốt chương trình. Điều quan trọng cần lưu ý khi sử dụng

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')

for sheet in book.sheets():
    print sheet.name
1, lập chỉ mục hoặc cắt.

Lập chỉ mục và cắt lát

Sử dụng điều này để rút ra một tập hợp con cụ thể của một chuỗi hoặc danh sách.

Quầy

Sử dụng điều này như một công cụ để kiểm soát các vòng lặp

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8.

Lồng nhau

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 vòng

Sử dụng khi lặp lại cấu trúc dữ liệu trong cấu trúc dữ liệu, chẳng hạn như danh sách các danh sách, danh sách từ điển hoặc từ điển từ điển.

sheet = book.sheet_by_name('Table 9')
8

sheet = book.sheet_by_name('Table 9')
8 là một cách để xuất dữ liệu vào thiết bị đầu cuối ở định dạng đẹp. Điều này là tốt để sử dụng khi lập trình với các cấu trúc dữ liệu phức tạp.

pip install xlrd
04

Bạn có thể thoát khỏi vòng lặp

import xlrd

book = xlrd.open_workbook('SOWC 2014 Stat Tables_Table 9.xlsx')
8 sớm bằng cách sử dụng
pip install xlrd
04. Điều này sẽ ngừng thực hiện vòng lặp và tiếp tục phần tiếp theo của tập lệnh.

Bình luận

Điều quan trọng là giữ cho tất cả mã của bạn nhận xét, vì vậy bạn biết những gì đang xảy ra để tham khảo trong tương lai.

Khi bạn đọc và đào sâu vào PDF, bạn sẽ tìm hiểu tầm quan trọng của việc khám phá các lựa chọn thay thế cho dữ liệu bạn có hoặc tìm cách thay thế để xác định vị trí và tìm dữ liệu bạn cần trả lời câu hỏi nghiên cứu của mình.

Nhận dữ liệu tranh cãi với Python ngay bây giờ với nền tảng học tập O hèReilly.learning platform.

Các thành viên của O hèReilly trải nghiệm đào tạo trực tuyến trực tiếp, cộng với sách, video và nội dung kỹ thuật số từ gần 200 nhà xuất bản.nearly 200 publishers.

Làm thế nào gửi dữ liệu từ Excel đến Python?

Python viết tệp excel..
Viết tệp Excel bằng mô -đun XLSXWRITRITER.Chúng ta cũng có thể viết tệp Excel bằng mô -đun XLSXWriter.....
Viết tệp Excel bằng mô -đun OpenPyXL.Nó được định nghĩa là một gói thường được khuyến nghị nếu bạn muốn đọc và viết.....
Viết dữ liệu cho các tệp Excel với XLWT.....
Viết tệp với PyExcel ..

Python có thể lấy dữ liệu từ Excel không?

Người ta có thể lấy thông tin từ bảng tính.Đọc, viết hoặc sửa đổi dữ liệu có thể được thực hiện trong Python có thể được thực hiện bằng cách sử dụng các phương thức khác nhau.. Reading, writing, or modifying the data can be done in Python can be done in using different methods.