Hướng dẫn python add column to excel - python thêm cột vào excel

Đây là mã của tôi:

import openpyxl, pprint
wb = openpyxl.load_workbook('/Users/sarahporgess/Desktop/SSA1.xlsx')
sheet = wb.get_sheet_by_name('Sheet1')


data = {}
for row in range(1,sheet.max_row+1):


        date = sheet['A' +str(row)].value
        gamma = sheet['B' +str(row)].value
        theta = sheet['C' +str(row)].value
        ratio = float(gamma)/float(theta)
        resultFile = open('SSA2.csv' , 'w')
        resultFile.write( pprint.pformat(date))
        resultFile.write( pprint.pformat(gamma))
        resultFile.write( pprint.pformat(theta))

        resultFile.write( pprint.pformat(ratio))
        print(ratio)
        sheet['D1']=ratio
resultFile.close()
print('Done.')

Tệp Excel hiện tại của tôi hiện có ba cột: "Ngày, gamma, theta". Tôi muốn thêm một cột thứ tư gọi là "tỷ lệ" là tỷ lệ gamma/theta. Làm cách nào để thêm một cột khác vào tài liệu Excel hiện có bằng Python? Mã này tạo ra một tài liệu Excel với 4 yếu tố được in thành một ô

Hướng dẫn python add column to excel - python thêm cột vào excel

Martineau

Huy hiệu vàng 116K2525 gold badges161 silver badges288 bronze badges

Đã hỏi ngày 28 tháng 6 năm 2017 lúc 19:58Jun 28, 2017 at 19:58

Hướng dẫn python add column to excel - python thêm cột vào excel

1

Dễ sử dụng gói gấu trúc dễ dàng hơn

import pandas as pd
file_name = #Path to your file
df = pd.read_excel(file_name) #Read Excel file as a DataFrame

df['Ratio'] = df['Gamma']/df['Theta']
#Display top 5 rows to check if everything looks good
df.head(5)

#To save it back as Excel
df.to_excel("path to save") #Write DateFrame back as Excel file

Đã trả lời ngày 28 tháng 6 năm 2017 lúc 20:12Jun 28, 2017 at 20:12

3

Từ câu hỏi cập nhật của bạn, tôi đã viết lại câu trả lời của tôi.

Bạn không cần phải sử dụng một thư viện khác để thực hiện những gì bạn đang cố gắng làm. Đây là một lựa chọn khác để hoàn thành những gì bạn muốn.

import openpyxl
import pprint

wb = openpyxl.load_workbook('/Users/sarahporgess/Desktop/SSA1.xlsx')
sheet = wb.active
# you may also use the wb.get_sheet_by_name('Sheet1') method here.


data = {}
for row in range(1,sheet.max_row+1):
        date = sheet.cell(row = row, column = 1) # use .cell() to get values of cells
        gamma = sheet.cell(row = row, column = 2)
        theta = sheet.cell(row = row, column = 3)
        print(date, gamma, theta)
        ratio = float(gamma)/float(theta)
        new_wb = openpyxl.Workbook() # creates new workbook to be saved as results
        # you can also open a wookbook here instead but I wrote it to create a results workbook as I didnt already have one.
        new_sheet = new_wb.active
        new_sheet['A1'] = pprint.pformat(date)
        new_sheet['B1'] = pprint.pformat(gamma)
        new_sheet['C1'] = pprint.pformat(theta)
        new_sheet['D1'] = pprint.pformat(ratio)
        print(ratio)
        # save new workbook as SSA2
        new_wb.save('/Users/sarahporgess/Desktop/SSA2.xlsx')

print('Done.')

Đã trả lời ngày 28 tháng 6 năm 2017 lúc 20:08Jun 28, 2017 at 20:08

Hướng dẫn python add column to excel - python thêm cột vào excel

Mike - Smtmike - SMTMike - SMT

15.1k4 Huy hiệu vàng34 Huy hiệu bạc68 Huy hiệu Đồng4 gold badges34 silver badges68 bronze badges

2

Không rõ từ mã của bạn cho dù bạn muốn in kết quả hoặc chỉnh sửa tệp hiện có. Nếu bạn đang chỉnh sửa tệp Excel thì bạn có thể muốn tạo một công thức và để Excel thực hiện tính toán cho bạn.

import openpyxl
wb = openpyxl.load_workbook('/Users/sarahporgess/Desktop/SSA1.xlsx')
sheet = wb['Sheet1']

for row in sheet:
     date, gamma, theta = row
     ratio = theta.offset(column=1)
     ratio.value = "=B{0}/C{0}".format(theta.row) # if you want the formula
     # ratio.value = gamma/theta # if you just want the calculation

wb.save(…)

Đã trả lời ngày 29 tháng 6 năm 2017 lúc 9:58Jun 29, 2017 at 9:58

Charlie Clarkcharlie ClarkCharlie Clark

17,5K4 Huy hiệu vàng46 Huy hiệu bạc53 Huy hiệu Đồng4 gold badges46 silver badges53 bronze badges

8

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:51:41 (UTC/GMT +8 giờ)

Gấu trúc: Bài tập thể dục Excel-5 với giải pháp

Viết một chương trình gấu trúc để chèn một cột ở vị trí thứ sáu của bảng excel nói trên và lấp đầy nó bằng các giá trị NAN. Chuyển đến dữ liệu Excel

Giải pháp mẫu:

Mã Python:

import pandas as pd
import numpy as np
df = pd.read_excel('E:\coalpublic2013.xlsx')
df.insert(3, "column1", np.nan)
print(df.head) 

Đầu ra mẫu:

    Year  MSHA ID                       Mine_Name  column1  Production  \
0   2013   103381            Tacoa Highwall Miner      NaN       56004  ..... 
1   2013   103404                Reid School Mine      NaN       28807  ..... 
2   2013   100759  North River #1 Underground Min      NaN     1440115  ..... 
3   2013   103246                      Bear Creek      NaN       87587  ..... 
4   2013   103451                     Knight Mine      NaN      147499  ..... 
5   2013   103433              Crane Central Mine      NaN       69339  ..... 
6   2013   100329                    Concord Mine      NaN           0  ..... 
7   2013   100851                  Oak Grove Mine      NaN     2269014  ..... 
8   2013   102901                Shoal Creek Mine      NaN           0  ..... 
9   2013   102901                Shoal Creek Mine      NaN     1453024  ..... 
10  2013   103180             Sloan Mountain Mine      NaN      327780  .....
11  2013   103182                        Fishtrap      NaN      175058  ..... 
12  2013   103285                     Narley Mine      NaN      154861  ..... 
13  2013   103332                   Powhatan Mine      NaN      140521  ..... 
14  2013   103375                    Johnson Mine      NaN         580  ..... 
15  2013   103419               Maxine-Pratt Mine      NaN      125824  ..... 
16  2013   103432                   Skelton Creek      NaN        8252  ..... 
17  2013   103437         Black Warrior Mine No 1      NaN      145924  ..... 
18  2013   102976   Piney Woods Preparation Plant      NaN           0  ..... 
19  2013   102976   Piney Woods Preparation Plant      NaN           0  ..... 
20  2013   103380                          Calera      NaN           0  ..... 
21  2013   103380                          Calera      NaN           0  ..... 
22  2013   103422                 Clark No 1 Mine      NaN      122727  ..... 
23  2013   103467             Helena Surface Mine      NaN       59664  ..... 
24  2013   101247                       No 4 Mine      NaN     2622528  ..... 
25  2013   101401                       No 7 Mine      NaN     5405412  ..... 
26  2013   103172  Searles Mine No. 2, 3, 4, 5, 6      NaN      258078  ..... 
27  2013   103179             Fleetwood Mine No 1      NaN       75937  ..... 
28  2013   103303                    Shannon Mine      NaN      317491  ..... 
29  2013   103323                   Deerlick Mine      NaN      133452  ..... 
30  2013   103364           Brc Alabama No. 7 Llc      NaN           0  ..... 
31  2013   103436                Swann's Crossing      NaN      137511  ..... 
32  2013   100347                    Choctaw Mine      NaN      537429  ..... 
33  2013   101362                 Manchester Mine      NaN      219457  ..... 
34  2013   102996                  Jap Creek Mine      NaN      375715  ..... 
35  2013   103155              Corinth Prep Plant      NaN           0  ..... 
36  2013   103155              Corinth Prep Plant      NaN           0  ..... 
37  2013   103195     Mccollum/Sparks Branch Mine      NaN       71910  ..... 
38  2013   103342             Reese's Branch Mine      NaN      263888  ..... 
39  2013   103370             Cresent Valley Mine      NaN        2860  ..... 
40  2013   103372                 Cane Creek Mine      NaN       66258  ..... 
41  2013   103376                      Town Creek      NaN      299167  ..... 
42  2013   103389                Carbon Hill Mine      NaN       76241  ..... 
43  2013   103410                Coal Valley Mine      NaN      407841  ..... 
44  2013   103423                Dutton Hill Mine      NaN       37275  ..... 
45  2013  1519322                         Ghm #25      NaN       25054  ..... 
46  2013   103321                  Poplar Springs      NaN      189370  ..... 
47  2013   103358                       Old Union      NaN      284563  ..... 
48  2013  5000030                        Usibelli      NaN     1631584  ..... 
49  2013   201195                    Kayenta Mine      NaN     7602722  ..... 	                                       

Dữ liệu Excel:

coalpublic2013.xlsx:

Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn (và nhận xét) thông qua Disqus.

Trước đó: Viết một chương trình gấu trúc để tìm tổng số, trung bình, tối đa, giá trị tối thiểu của 'sản xuất (tấn ngắn)' của tập tin CoalPublic2013.xlsx. Hai mươi hàng vào một bản dữ liệu gấu trúc. Write a Pandas program to find the sum, mean, max, min value of 'Production (short tons)' column of coalpublic2013.xlsx file.
Next: Write a Pandas program to import given excel data (coalpublic2013.xlsx ) skipping first twenty rows into a Pandas dataframe.

Mức độ khó của bài tập này là gì?

Kiểm tra kỹ năng lập trình của bạn với bài kiểm tra của W3Resource.

Python: Lời khuyên trong ngày

Sử dụng toàn bộ danh sách để rút ngắn cho các vòng lặp:

x = [1, 2, 3, 4, 5]
result = []
for idx in range(len(x)):
    result.append(x[idx] * 2)
result

Output:

[2, 4, 6, 8, 10]
[(element * 2) for element in x]

Output:

[2, 4, 6, 8, 10]


  • Bài tập: Top 16 chủ đề phổ biến nhất hàng tuần
  • Bài tập SQL, Thực hành, Giải pháp - Tham gia
  • Bài tập SQL, Thực hành, Giải pháp - Quan sát phụ
  • JavaScript Basic - Bài tập, Thực hành, Giải pháp
  • Java Array: Bài tập, Thực hành, Giải pháp
  • C Bài tập lập trình, Thực hành, Giải pháp: Tuyên bố có điều kiện
  • Cơ sở dữ liệu nhân sự - Sắp xếp bộ lọc: Bài tập, Thực hành, Giải pháp
  • C Bài tập lập trình, Thực hành, Giải pháp: Chuỗi
  • Các loại dữ liệu Python: Từ điển - Bài tập, Thực hành, Giải pháp
  • Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
  • Mảng C ++: Bài tập, Thực hành, Giải pháp
  • Báo cáo và vòng lặp có điều kiện JavaScript - Bài tập, Thực hành, Giải pháp
  • Thuật toán cơ bản C# Sharp: Bài tập, Thực hành, Giải pháp
  • Python Lambda - Bài tập, Thực hành, Giải pháp
  • Python Pandas DataFrame: Bài tập, Thực hành, Giải pháp
  • Công cụ chuyển đổi
  • JavaScript: HTML Mẫu xác thực