如果我有10个csv文件,代码怎么简化
时间: 2024-03-16 11:44:32 浏览: 71
如果你有10个csv文件,想要将它们都输出自己想要的列的前5个值,并写入到doc文件中,可以使用循环来简化代码。下面是一个示例代码:
```python
import csv
from docx import Document
from docx.shared import Inches
# 定义要输出的列
fieldnames = ['Name', 'Age']
# 循环处理每个csv文件
for i in range(1, 11):
# 打开csv文件
with open(f'example_{i}.csv', 'r') as f:
reader = csv.DictReader(f)
# 获取前5行数据
rows = []
for j, row in enumerate(reader):
if j == 5:
break
rows.append(row)
# 创建输出的doc文件
document = Document()
document.add_heading(f'My CSV Data {i}', 0)
table = document.add_table(rows=1, cols=2)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Name'
hdr_cells[1].text = 'Age'
for row in rows:
row_cells = table.add_row().cells
row_cells[0].text = row['Name']
row_cells[1].text = row['Age']
document.add_page_break()
document.save(f'output_{i}.docx')
```
在这个示例代码中,我们定义要输出的列,并循环处理每个csv文件。在每个循环中,我们打开一个csv文件,获取前5行数据,并创建一个新的输出doc文件。接着,我们使用python-docx模块创建一个表格,将表头写入表格中,然后逐行读取csv文件,并将前5行数据写入表格中。最后,我们将表格加入到doc文件中,保存输出文件。最终,我们就得到了包含所有csv文件中指定列的前5个值的doc文件。
阅读全文