Tôi đang cố gắng nhận các giá trị từ bảng HTML bằng Python. HTML trông như thế này: Show
Mã của tôi cho đến nay là:
Đầu ra là:
Tôi muốn đầu ra cuối cùng như sau: Wow, đó là một bộ dữ liệu khá tuyệt vời. Tệp văn bản không có tiêu đề thích hợp để nó yêu cầu thao tác nhiều hơn một chút. Nếu tiêu đề chỉ là một hàng duy nhất với tên cột, nó sẽ dễ dàng hơn. Mã bên dưới chuyển đổi tệp văn bản đầu vào thành một lớp tính năng chỉ có nitrat bề mặt, nitrat khác không sâu nhất và độ sâu của giá trị nitrat khác không sâu nhất. Tất cả mọi thứ bao gồm cả Shapefile kết quả đều nằm trong thư mục đính kèm. Hy vọng rằng các ý kiến trong mã sẽ giúp bạn hiểu những gì nó làm. Một cách tốt để chơi với nó là chạy nó từng hàng (từng khối) trong một cái gì đó như pyscripter Nhập arcpy Nhập hệ điều hành csv = r'c: \ nitrate_gridp_annual \ nitrate_gridp_annual.csv ' out_fc = r'c: \ nitrate_gridp_annual \ ni.shp ' # Đọc CSV vào Memeory hàng = [] Với Open (CSV, 'R') là F: & nbsp; & nbsp; & nbsp; Đối với hàng trong F: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hàng.append (row.strip ()) # Hai hàng đầu tiên không hữu ích lắm, vì vậy hãy thả chúng hàng.pop (0) # thả hàng đầu tiên độ sâu = hàng.pop (0) # thả hàng thứ hai, hiện là hàng đầu tiên độ sâu = map (int, độ sâu [độ sâu.find (':')+1:]. Split (','))) # Nhận lat, lon, nitrat gần bề mặt và phép đo không khác biệt newrows = [] Đối với hàng theo hàng: & nbsp; & nbsp; & nbsp; rowData = map (float, row.split (',')))) & nbsp; & nbsp; & nbsp; lat, lon = rowdata [0], rowData [1] & nbsp; & nbsp; & nbsp; nitrat = rowdata [2:] & nbsp; & nbsp; & nbsp; n_near_surface = nitrate.pop (0) # Đầu tiên là gần bề mặt & nbsp; & nbsp; & nbsp; # Nhận giá trị khác không sâu nhất và độ sâu của nó & nbsp; & nbsp; & nbsp; n_deepest = 0,0 & nbsp; & nbsp; & nbsp; Độ sâu = 0 & nbsp; & nbsp; & nbsp; i = 0 & nbsp; & nbsp; & nbsp; Đối với tôi trong phạm vi (Len (nitrat)): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; n = nitrat & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Nếu n> 0: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; n_deepest = n & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; d = độ sâu [i+1] & nbsp; & nbsp; & nbsp; newrow = [lat, lon, n_near_surface, n_deepest, d] & nbsp; & nbsp; & nbsp; newrows.append (newrow) # Viết đầu ra vào lớp tính năng out_path, out_name = os.path.split (out_fc) sr = arcpy.spatialreference (4326) # xác định hệ tọa độ (WGS84) fc = arcpy.man Quản lý.createefeatureclass (out_path, out_name, "point", không gian_reference = sr) .getOutput (0) arcpy.man Quản lý.addfield (fc, "n_0", "double") arcpy.man Quản lý.addfield (fc, "n_deep", "double") arcpy.man quản lý.addfield (fc, "chiều sâu", "gấp đôi") với arcpy.da.insertcursor (fc, ["hình dạng@", "n_0", "n_deep", "chiều sâu"]) là ic: & nbsp; & nbsp; & nbsp; Đối với hàng trong NewRows: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pt = arcpy.point (hàng [1], hàng [0]) # Hãy nhớ rằng lon là x, lat là y & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; newrow = [pt, hàng [2], hàng [3], hàng [4]] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; IC.Insertrow (NewRow) Del Row Del IC In FC Vui lòng kiểm tra xem các đầu ra có chính xác không! Tôi vội vã một chút trong khi viết bài này. Filip. Làm thế nào để bạn đọc một giá trị bảng trong Python?Những điểm chính.. Sử dụng thư viện Pandas để lấy số liệu thống kê cơ bản ra khỏi dữ liệu bảng .. Sử dụng index_col để chỉ định rằng các giá trị của cột nên được sử dụng làm tiêu đề hàng .. Sử dụng dataFrame.info để tìm hiểu thêm về DataFrame .. DataFrame. .... Sử dụng DataFrame. .... Sử dụng DataFrame .. Làm thế nào để bạn truy cập các yếu tố bảng trong Python?Bạn cần chọn hàng theo chỉ mục: Row = Bảng [INDEX] Hàng là một điều khá đẹp mắt.Bạn cần đặt đường viền và tiêu đề thành sai và sau đó bạn có thể lấy trường cụ thể theo tên.select the row by index : row = table[index] row is a prettytable. you need to set border and header to false and then you can get the specific field by name.
Làm thế nào để bạn tạo một danh sách từ một bảng trong Python?Cách dễ nhất để tạo các bảng trong Python là sử dụng hàm Table () từ thư viện bảng ... Để sử dụng chức năng này, trước tiên chúng ta phải cài đặt thư viện bằng PIP: PIP Cài đặt Tabulation .. Sau đó, chúng ta có thể tải thư viện: từ bảng nhập bảng lập bảng .. Làm thế nào để bạn in một bảng Astropy?Các giá trị trong bảng hoặc cột có thể được in hoặc truy xuất dưới dạng bảng được định dạng bằng một trong một số phương thức:.. print () chức năng .. Thêm () hoặc cột.Thêm () các phương thức để cuộn tương tác qua các giá trị bảng .. pprint () hoặc cột..... pformat () hoặc cột .. |