Python:将数据写入特定单元格

Python:将数据写入特定单元格,python,csv,Python,Csv,我需要一些数据,我需要将其写入一列,但写入不同的字符串 df = pd.DataFrame() list1 = ['111', '333', '555', '777', '8888'] list2 = [1, 5, 56, 44, 2] with open('hh1.csv', 'a') as f: writer = csv.writer(f) for (elem1, elem2) in zip(list1, list2): writer.writerow([el

我需要一些数据,我需要将其写入一列,但写入不同的字符串

df = pd.DataFrame()
list1 = ['111', '333', '555', '777', '8888']
list2 = [1, 5, 56, 44, 2]
with open('hh1.csv', 'a') as f:
    writer = csv.writer(f)
    for (elem1, elem2) in zip(list1, list2):
        writer.writerow([elem1])
我想把
elem1
写入带有数字
elem2
的单元格,我是说
A1中的
111
A5中的
333
等。
我该怎么做呢?

所以根据
list2
max index用空值初始化列表。然后,使用
zip
按照
list1、list2
索引/值元组填充它,就像您在尝试中所做的那样

list1 = ['111', '333', '555', '777', '8888']
list2 = [1, 5, 56, 44, 2]
rows_to_write = [[""] for _ in range(max(list2))]
for i,v in zip(list2,list1):
    rows_to_write[i-1][0] = v
此时,
要写入的行
值得:

[['111'], ['8888'], [''], [''], ['333'], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], ['777'], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], ['555']]
然后在1条指令中写入行(不追加)


这将创建一个单行“稀疏”csv文件。(
open('hh1.csv','wb')作为f
用于python 2)

您想在行间写入什么?@Jean-Françoisfare它将是空的,但我需要在循环中写入,数字可能不按顺序写入
111
到单元格
111325
甚至不可能。这些值不在
list2
范围内。。。哦,你必须使用
w
模式,而不是
a
!!从零开始重写文件。你能说吗,但是如果我没有一个带数字的列表,但是把它放在循环中,我可以这样写吗?我试着这样做,但它不写,这可能是换行符的问题。在.csv文件的
open
上检查我的编辑
with open('hh1.csv', 'w',newline='') as f: # python 3
    csv.writer(f).writerows(rows_to_write)