python - 如何使用 Python 将 CSV 数据复制到现有 xlsx 文件

标签 python excel csv export

我正在使用 Python 3.4,并且正在编写一个简短的脚本。我有一个可执行文件,它获取软件的输出并输出一堆包含请求数据的 csv 文件。我创建了一个 Excel (xlsx) 文件作为模板。它有一个根据特定要求定制的图表。

我想在每个 csv 文件中获取一定范围的数据,然后将它们输入到我已经创建的现有 Excel 模板中,并使用唯一的文件名保存它。本质上是迭代这个过程。

每个 csv 文件都有一个唯一的名称。我的目标是帮助自动化创建图表。有时这可能最终会变成数百张图表。我已经搜索了很多关于如何做到这一点的信息,但几乎没有帮助。

我将再次启动脚本,它将运行每个 csv 文件(无论是 5 个还是 500 个),然后复制数据(始终位于相同单元格中的特定范围),然后将其粘贴到模板 xlsx 文件中我已创建并使用与 csv 类似的名称保存它,但它的扩展名为 .xlsx。

我不知道这是否是最好的方法,或者我是否应该创建一个 csv 模板来代替它复制到的模板。

非常感谢任何帮助,谢谢。

最佳答案

第一种方法

如果您的最终目标是根据 csv 中的可用数据生成图表,那么您可以使用 csvReader 读取数据并使用 matplotlib 绘制图表。

简单的例子:

Sample csv file:
1,10,45
2,20,30
3,30,90
4,40,80

import csv
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

keys = ['Col1','Col2','Col3']
col1 = []
col2 = []
col3 = []
fd = open('sample.csv','r')
reader = csv.DictReader(fd,fieldnames=keys)
for row in reader:
    col1.append(int(row['Col1']))
    col2.append(int(row['Col2']))
    col3.append(int(row['Col3']))

pp = PdfPages("Sample.pdf")

plt.title("Col1 Vs Col2")
plt.xlabel("X-Values")
plt.ylabel("Y-Values")
plt.plot(col1,col2,label="Label 1",marker = "*")
legend = plt.legend(loc='best', shadow=True, fontsize=6)
legend.get_frame().set_facecolor('#00FFCC')
plt.grid(True)
plt.savefig(pp,format='pdf')
plt.clf()

plt.title("Col1 Vs Col3")
plt.xlabel("X-Values")
plt.ylabel("Y-Values")
plt.plot(col1,col3,label="Lable 2",marker = "*")
legend = plt.legend(loc='best', shadow=True, fontsize=6)
legend.get_frame().set_facecolor('#00FFCC')
plt.grid(True)
plt.savefig(pp,format='pdf')
plt.clf()
pp.close()

引用文献:

第二种方法

可以使用xlrd、xlwt和xlutils对excel文件进​​行操作

使用 csvReader 读取数据,使用 xlutils 复制现有模板,对其进行编辑并再次保存

引用:

关于python - 如何使用 Python 将 CSV 数据复制到现有 xlsx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29847674/

相关文章:

python - 将 WinAPI 屏幕截图转换为 OpenCV 兼容形式

python - datetime.datetime.now() 返回旧值

excel - 如何在 Excel 中进行分布式计算

java - 二维字符串传递到 JTable

javascript - 在 D3 map 中显示事件列表

python - 从 csv 文件计算每月值(value)

python - “没有这样的文件或目录”还存在吗?

python - 当包名称仅在运行时已知时,如何使用 __import__() 导入包?

java - 使用 Apache POI 访问单元格时出现 NullPointerException

php - 上传到 mysql 时来自 excel 的日期发生变化