<p>这对于<code>pandas</code>来说非常简单,您只需创建一个writer并使用它将csv写入excel,如:</p>
<pre><code>import pandas as pd
writer = pd.ExcelWriter('nameofexcelfiletocreate.xlsx') # Creates this excel file
df = pd.read_csv('new.csv') # Reads the csv and makes a dataframe
df.to_excel(writer,'sheet1') # Writes the dataframe to excel file
writer.save() # Saves the file
</code></pre>
<p>这将创建一个新的excel文件,并将csv转换为excel。请注意,您必须安装<code>openpyxl</code>才能使其正常工作:</p>
<pre><code>pip install openpyxl
</code></pre>
<p>所以你的函数应该是这样的:</p>
<pre><code>def call():
cols = ['ID CARD','NAME','SURNAME'] # Your column headings here
path = 'read.csv'
excel_name = 'newfile.xlsx'
lst = []
with open(path, "w", newline='') as myfile:
csvwriter = csv.writer(myfile, delimiter=',')
for row_id in mytree.get_children():
row = mytree.item(row_id,'values')
lst.append(row)
lst = list(map(list,lst))
lst.insert(0,cols)
for row in lst:
csvwriter.writerow(row)
writer = pd.ExcelWriter(excel_name)
df = pd.read_csv(path)
df.to_excel(writer,'sheetname')
writer.save()
</code></pre>