我使用Python 2.7.3 如何将excel文件(.xls)转换为txt / .csv文件
import matplotlib.pyplot as plt
x = []
y = []
t = []
fig = plt.figure()
rect = fig.patch
rect.set_facecolor('#31312e')
readFile = open('data.csv', 'r')
sepFile = readFile.read().split('\n')
readFile.close()
for idx, plotPair in enumerate(sepFile):
if plotPair in '. ':
# skip. or space
continue
if idx > 1: # to skip the first line
xAndY = plotPair.split(',')
time_string = xAndY[0]
t.append(time_string)
y.append(float(xAndY[1]))
ax1 = fig.add_subplot(1, 1, 1, axisbg='blue')
ax1.plot(t, y, 'c', linewidth=3.3)
plt.title('IRRADIANCE')
plt.xlabel('TIME')
plt.show()
我的txt文件示例:
时间戳,辐照度 21/7/2014 0:00,0.66 21/7/2014 0:00,0.71 21/7/2014 0:00,0.65 21/7/2014 0:00,0.67 21/7/2014 0:01,0.58
答案 0 :(得分:5)
使用xlrd和csv模块将xls转换为csv。
import xlrd
import csv
def xls_to_csv():
x = xlrd.open_workbook('data.xls')
x1 = x.sheet_by_name('Sheet1')
csvfile = open('data.csv', 'wb')
writecsv = csv.writer(csvfile, quoting=csv.QUOTE_ALL)
for rownum in xrange(x1.nrows): #To determine the total rows.
writecsv.writerow(x1.row_values(rownum))
csvfile.close()
答案 1 :(得分:0)
<transition on="A" to="checkCondition">
<set name="flowScope.nextState" value="doA"/>
</transition>
<transition on="B" to="checkCondition">
<set name="flowScope.nextState" value="doB"/>
</transition>
<decision-state id="checkCondition">
<if test="error?" then="error" else="#{flowScope.nextState}"/>
</decision-state>
答案 2 :(得分:-1)
如果您使用的是Windows框或可以通过网络访问Windows框,最佳解决方案可能是编写一个Python脚本,该脚本使用子进程模块启动使用excel将文件导出为CSV文件的vbscript。 / p>
def doc_count(self, path_and_file):
print("---- doc_count ----")
pprint(path_and_file)
cmd = "cscript.exe word_count.vbs \"" + path_and_file + "\" //NoLogo"
print(cmd)
result = subprocess.check_output( cmd, shell=True )
print(result)
上面的代码就是我用来启动vbs脚本以从MS Word中获取行和字数的方法。使用excel可以实现类似的功能。