簡體   English   中英

想要讀取一個文件並使用 python 寫入現有的 excel 表

[英]Want to read an a file and write to existing excel sheet using python

[在此處輸入圖像描述][1]我有一個文本文件,其中數據以管道分隔符分隔,我想將其寫入 Excel 工作表。

我已經創建了一個代碼,但由於輸入文件中的數據很大(大約 45kb),因此執行大約需要 700 秒。 有什么辦法可以優化嗎?

謝謝

請查找代碼如下:

import csv
from time import process_time


def create_sheet():
    wb1 = Workbook()
    wb1.create_sheet("A")
    wb1.create_sheet("B")
    src_sheet = wb1.create_sheet("C")
    print(type(src_sheet))
    wb1.create_sheet("D")
    sheet = wb1['Sheet']
    wb1.remove(sheet)
    write_Data(src_sheet)
    wb1.save('outfile.xlsx')


def write_Data(src_sheet):
    csv.register_dialect('myDialect', delimiter='|', quoting=csv.QUOTE_ALL)
    data_list = []
    with open("C:/Users/atapadar/input_text.txt",
              "r") as csvfile:
        reader = csv.reader(csvfile, dialect='myDialect')
        count: int = 1
        for i in reader:
            if count == 1:
                i.append("New col")
            else:
                i.append(i[0] + i[1] + i[3])
            count = count + 1
            src_sheet.append(i)



t1_start = process_time()

create_sheet()

t1_stop = process_time()
print("Elapsed time during the whole program in seconds:", t1_stop - t1_start)


  [1]: https://i.stack.imgur.com/X9iMQ.png

通過數據幀執行此操作會簡單得多:

df = pd.read_csv("filename.csv", sep="|")
df['New col'] = int(df['C1']) + int(df['C2']) + int(df['C3'])

df.to_excel("output.xlsx", sheet_name='Sheet_name_1') 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM