写入Excel电子表格

我是Python新手。我需要将程序中的一些数据写入电子表格。我在网上搜索过,似乎有很多可用的软件包(xlwt、XlsXcessive、openpyxl)。其他人建议写入.csv文件(从未使用过csv,也不真正了解它是什么)

程序非常简单。我有两个列表(float)和三个变量(string)。我不知道这两个列表的长度,它们可能不会是相同的长度

我希望布局如下图所示:

粉红色列将具有第一个列表的值,绿色列将具有第二个列表的值

那么最好的方法是什么呢

另外,我正在运行Windows 7,但我不一定要在运行此程序的计算机上安装Office

导入xlwt
x=1
y=2
z=3
列表1=[2.34,4.346,4.234]
book=xlwt.工作簿(encoding=“utf-8”)
活页1=书本。添加活页(“活页1”)
表1.书写(0,0,“显示”)
表1.写下(1,0,“优势”)
表1.书写(2,0,“测试”)
活页1.书写(0,1,x)
表1.书写(1,1,y)
活页1.书写(2,1,z)
表1.书写(4,0,“刺激时间”)
表1.写下(4,1,“反应时间”)
i=4
对于列表1中的n:
i=i+1
表1.写入(i,0,n)
book.save(“trial.xls”)

我用你所有的建议写了这篇文章。它完成了任务,但可以稍微改进

如何将for循环中创建的单元格(列表1值)格式化为科学或数字

我不想截断这些值。程序中使用的实际值在小数点后大约有10位数字

使用DataFrame.exe从pandas中创建excel。Pandas允许您在功能丰富的数据结构中表示数据,并允许您读取excel文件

首先必须将数据转换为数据框,然后将其保存到excel文件中,如下所示:

[1]on

:从导入数据帧
[2]on:l1=[1,2,3,4]
At[3]on:l2=[1,2,3,4]
At[3]on:df=DataFrame({‘刺激时间’:l1,‘反应时间’:l2})
In[4]:df
Output[4]:
反应时间刺激时间
0              1              1
1              2              2
2              3              3
3              4              4
At[5]on:df.to\u excel('test.xlsx',sheet\u name='sheet1',index=False)

生成的excel文件如下所示:

请注意,两个列表的长度必须相等,否则熊猫会抱怨。要解决此问题,请将所有缺少的值替换为None

发表评论