[英]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.