Python如何将输出文件打印成两列?

时间:2018-04-04 13:40:39

标签: python excel

我不知道为什么我的格式看起来很糟糕,所以我提供了截图,谢谢

screenshot of my question

这是我的代码:

min,max
基本上,输出是:

import xlrd                       #read excel
import urllib.request             #read url


path= 'F:/4480/ASSIGNMENT.xlsx'           #my excel path
data = xlrd.open_workbook(path)          #myexcel

table=data.sheets()[0]              #first sheet


for x in table.col_values(0):       #first column(URL column)
    print (x)
    try :
        response = urllib.request.urlopen(x)
        print(response.getheader('ETag'))
    except :
        print("not url")

但我想要的是:

image URL
not url
http://images.ctfassets.net/55tpbg0qcsp4/1xjp4PdyFy2eUCIOkSOMWw/a923617148e873a8304477043386602d/1000x700.jpg?w=284&h=240
"42b140ed9e700be672c586933f45f792"
http://images.ctfassets.net/55tpbg0qcsp4/5zeVQCnhqowcwiIw4kM80S/f70edd51832e8640f72c375cb1d72b6b/nagative_farewell4.jpg?w=284&h=240
"4ea3a7262ceb6d451cfe6472eea82983"

将输出保存到另一个文件中(进一步说,我想使用列值,那么我应该使用哪个文件?txt?)

1 个答案:

答案 0 :(得分:0)

您可以使用CSV文件作为输出,并将分隔符设置为选项卡。

import csv
import xlrd                    
import urllib.request             

csv_file = open('output.csv', 'wb')
writer = csv.writer(csv_file , delimiter='\t')

path= 'F:/4480/ASSIGNMENT.xlsx'
data = xlrd.open_workbook(path)

table = data.sheets()[0]

writer.writerow(('image URL', 'not url')) 

for x in table.col_values(0):
    try:
        response = urllib.request.urlopen(x)
        # Write normal row
        writer.writerow((x, response.getheader('ETag')))
    except:
        # Write invalid row
        writer.writerow((x, "not url"))

# Finally close the file
csv_file.close()

当然,如果你想要一个普通的CSV文件,你可以调整它并使用逗号(delimiter=',')作为分隔符。

修改:更改示例代码以使用海报excel阅读功能