关于python:对于excel粘贴到新单元格

for excel pasting into new cells

基本问题
我想将大型列表粘贴到excel中,但是它们都粘贴到同一个单元格中,如何将它们粘贴到不同的单元格中。 以网站https://www.doogal.co.uk/BatchGeocoding.php为例,其中包含以下设置:

选项卡(用于直接粘贴到Excel中)

输入地址关闭

英国东部和北部

与视图文本

这允许将数字放入不同的单元格中。 如何在python中重新创建它,以便我可以复制输出并粘贴到Excel工作表中。 我尝试在输出之间放置4个空格并在它们之间添加 t。 例如52.660869 1.26202和52.660869 t 1.26202但它们粘贴到同一个单元格中。

我希望这个输出直接粘贴到excel 52.522229,-1.448947,'vZR6L','GTS','Owner','london','0','x',就像网站一样

我试过了

1
2
3
52.522229    -1.448947    vZR6L    GTS    Owner    london    0    x
52.522229 \t -1.448947 \t vZR6L \t GTS \t Owner \t london \t 0 \t x
52.522229\t-1.448947\tvZR6L\tGTS\tOwner\tlondon\t0\tx


我做了一些研究,据我所知,不可能从命令行实现你想要的东西。 问题是即使您在代码中指定\t,命令行也会将制表符作为空格输出。

1
2
3
>>>my_string ="THIS\tIS\tA\tTEST"
>>> print(my_string)
THIS....IS......A.......TEST

在这个例子中,.是空格。 Excel无法解析此问题。

选项1

我假设你在窗户上。 如果是这样,您可以将输出通过管道传输到Windows clip程序中。

1
2
3
4
>>>import os
>>>my_string ="THIS\tIS\tA\tTEST"
>>>os.system("echo {} | clip".format(my_string))
0

这会将字符串复制到剪贴板。 在我的测试中,这是有效的:我不知道它对你有多好。

对于其他操作系统,请参阅:管道进出剪贴板

选项2

或者,您可以将输出写入文件,其中实际将保存TAB字符:

1
2
with open("results.txt") as f:
    f.write(my_string)

但此时,您可以将逗号分隔并将其另存为.csv

1
2
3
my_string ="THIS, IS, A, TEST"
with open("results.csv") as f:
    f.write(my_string)