【发布时间】:2019-09-23 02:53:31
【问题描述】:
我想读取一个名为 Books.csv 的 csv 文件,该文件包含多行并在第 19 行之后插入新行。每个行值仅限于其第一个单元格(A1 到 A24)。
我已经计算/迭代了一个由 30 行组成的名为“c”的字符串。
import csv
variant = "VC4"
MET = "cutting.MET"
name = "Rob"
Base_ModQual = -0.8
Deg_rate = 0.30
Num_Years = 30
for i in range(Num_Years+1):
deg = (Base_ModQual + (i)*Deg_Rate)
c = ("SIM_" + str(i+2) + ";" + variant + ";" + MET + ";" + name + "_Year" + str(i) + "_" + f'{deg:.2f}' + "%modrate.csv" +";" + f'{deg:.2f}' +";")
print(c)
任务: 在 csv 文件中从第 20 行(单元格 A20)到第 50 行(单元格 A50)插入字符串“c”,以便原始 A20-A24 单元格分别转换为 A51-A55 单元格.
with open('Books.csv', 'r') as csv_file, open('Books.csv', 'a') as write_file:
reader = csv.reader(csv_file, delimiter =";")
j = 0
for row in reader:
if j < row[19]:
row.append(c)
print(row)
我无法插入新行并用新数据覆盖 books.csv。
编辑:这是 Books.csv 文件的屏幕截图。我想从 A20 开始插入内容。
【问题讨论】:
标签: python loops csv insert append