Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ansysapi数据表到Excel文件_Python_C#_Excel_For Loop_Multiprocessing - Fatal编程技术网

Python ansysapi数据表到Excel文件

Python ansysapi数据表到Excel文件,python,c#,excel,for-loop,multiprocessing,Python,C#,Excel,For Loop,Multiprocessing,我有一个数组中的数据(B=[1,2,3,4,5]),我从DataTable中获取了数据,我尝试使用python for loop将其导入excel文件,代码如下: def Cells(a,b): return str(chr(b+96) + str(a)) import clr clr.AddReference("Microsoft.Office.Interop.Excel") import Microsoft.Office.Interop.Excel as Exce

我有一个数组中的数据(B=[1,2,3,4,5]),我从DataTable中获取了数据,我尝试使用python for loop将其导入excel文件,代码如下:

def Cells(a,b):
    return str(chr(b+96) + str(a))
import clr
clr.AddReference("Microsoft.Office.Interop.Excel")
import Microsoft.Office.Interop.Excel as Excel
ex = Excel.ApplicationClass()
ex.Visible = True
workbook = ex.Workbooks.Open(r"F:\Programming\Excel\Plot data.xlsx")
worksheet=workbook.worksheets("Sheet1")

Adding_Max_Principal_Stress=Model.Analyses[0].Solution.AddMaximumPrincipalStress()
Model.Analyses[0].Solution.EvaluateAllResults()

A=Adding_Max_Principal_Stress.PlotData
B=A.Values[1]
C=B.Count

for i in range (C):
    E=B[i]
    worksheet.range(Cells(1+i,1)).Value=E


在此代码中,B包含数据列表,如B=[1,2,3,4,5,…]B中的项有100000个数据(数组值),需要5小时才能将数据导入excel。有没有可能加快这个过程。

我猜IronPython不支持太多不同的Python库?在这种情况下,代码需要几乎是纯python

  • 您是否使用过测线仪来查看线路最慢的部分是什么 代码是什么
  • 似乎在你的范围公式中,你只设置了一个单元格 有一次,您是否尝试过一次设置所有值?每次VBA代码必须与excel交互时,速度都非常慢。如果可以一次设置单元格的所有值,则速度会快得多。我知道如何在VBA代码中执行此操作
  • 是否必须另存为excel文件?是否可以改为另存为CSV文件?创建大型excel文件很慢

你有我们可以用来测试脚本的示例数据吗?当然,Tom,我有一个数据B是一个数组,包含10万个数据,从1到10万个,比如B=[1,2,3,4,5,6,…到..,10万],我正在尝试使用for循环将这些数据导入excel,这需要更长的时间框架。如果有疑问,请查看以前是否有人这样做过!通常,您不希望使用for循环,尤其是当保存为excel格式时。下面是一个关于如何将数组保存为excel文件的答案:这更快吗?Ya Tom,谢谢与我分享。这里的实际问题是,我使用的是AnsysAPI,我使用IronPython与C#集成构建了一个数据表。现在,从代码中我们得到了包含表的
PlotData
。我正在提取列值并在excel中导入打印数据。xlsx使用循环a,您可以在我的代码变量
B
中看到,它包含像B=[1,2,3,4,5…高达100000]这样的值。是否有任何方法可以并行导入列。我无法导入熊猫——我添加了一些评论作为答案,因为这里没有足够的空间!感谢分享Tom,没错,Tom IronPython在excel部分的资源有限,根据我的发现,1。我用profiler检查了整个程序运行时间
600秒=10分钟
100000个数据,2。是的,汤姆,我一次设置一个单元格(如果可能的话,你可以共享VBA代码-用于设置所有值),3。Ya Tom,我也可以使用CSV,我想我可以在excel中找到一些方法。嗨,Tom,你能分享CSV文件的代码吗。@Manish这是将数据保存为CSV的文档:@Manish查看后如果你需要帮助,请告诉我。嗨,Tom Mclean,我一直在使用你共享的文档,开始构建代码,谢谢Tom。