2017-04-26 34 views
1

我想要了解的是如何使第九列包含Z(指向相应下载文件的链接) 我没有收到任何错误,但它没有执行我希望它执行。 任何帮助真的很感激。将字符串导出到Excel中的特定列中

import csv; import glob; import os 
from urllib.request import Request, urlopen 
path = 'C:\\Users\\bruno.rojas\\Desktop\\Python_Data\\Test'; extension = 
'csv'; os.chdir(path) 


file_name = 'TESTEXCEL' 
# Creates empty lists that will hold their corresponding values 
links = [] 
def WebGrab(url, filename): 
    req = Request(url, headers={"User-Agent": "Mozilla/5.0"}) 
    webpage = urlopen(req).read() 
    text_file = open(filename+'.csv', "wb") 
    text_file.write(webpage) 
    text_file.close() 
    return text_file 
with 
open('C:\\Users\\bruno.rojas\\Desktop\\Python_Data\\test\\'+file_name+'.csv') as f: 
reader = csv.reader(f) 
writer = csv.writer(f) 
for row in reader: 
    links.append("http://chart.finance.yahoo.com/table.csv?s="+row[0]+"&a="+row[3]+"&b="+row[4]+"&c="+row[2]+"&d="+row[7]+"&e="+row[8]+"&f="+row[6]+"&g=d&ignore=.csv") 
    for z in links: 
     WebGrab(z, row[0]) 
     for row in reader: 
      row[9] = z 
+0

1.你正在阅读和写作的同时同一个文件(可能不是一个问题... ...没有测试......谁知道) 2.在你试图使用读者为了写作或类似的东西(不应该工作/提供预期的结果) 3.你有2个循环与相同的迭代器(“行”变量) 尝试使用“temp文件“ –

回答

1

试试这个:

http://xlsxwriter.readthedocs.io/example_demo.html#ex-demo

有下面的例子:

############################################################################## 
# 
# A simple example of some of the features of the XlsxWriter Python module. 
# 
# Copyright 2013-2016, John McNamara, [email protected] 
# 
import xlsxwriter 


# Create an new Excel file and add a worksheet. 
workbook = xlsxwriter.Workbook('demo.xlsx') 
worksheet = workbook.add_worksheet() 

# Widen the first column to make the text clearer. 
worksheet.set_column('A:A', 20) 

# Add a bold format to use to highlight cells. 
bold = workbook.add_format({'bold': True}) 

# Write some simple text. 
worksheet.write('A1', 'Hello') 

# Text with formatting. 
worksheet.write('A2', 'World', bold) 

# Write some numbers, with row/column notation. 
worksheet.write(2, 0, 123) 
worksheet.write(3, 0, 123.456) 

# Insert an image. 
worksheet.insert_image('B5', 'logo.png') 

workbook.close() 
+0

以上答案只写,只创建。如果你想阅读,然后写我的其他答案。我希望这有助于! Σ8•d –

0

我有更好的回答...

从这个页面:

http://openpyxl.readthedocs.io/en/default/usage.html

尝试这两个以(下面)......

撰写工作簿

>>> from openpyxl import Workbook 
>>> from openpyxl.compat import range 
>>> from openpyxl.utils import get_column_letter 
>>> 
>>> wb = Workbook() 
>>> 
>>> dest_filename = 'empty_book.xlsx' 
>>> 
>>> ws1 = wb.active 
>>> ws1.title = "range names" 
>>> 
>>> for row in range(1, 40): 
...  ws1.append(range(600)) 
>>> 
>>> ws2 = wb.create_sheet(title="Pi") 
>>> 
>>> ws2['F5'] = 3.14 
>>> 
>>> ws3 = wb.create_sheet(title="Data") 
>>> for row in range(10, 20): 
...  for col in range(27, 54): 
...   _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col))) 
>>> print(ws3['AA10'].value) 
AA 
>>> wb.save(filename = dest_filename) 

阅读现有工作簿

>>> from openpyxl import load_workbook 
>>> wb = load_workbook(filename = 'empty_book.xlsx') 
>>> sheet_ranges = wb['range names'] 
>>> print(sheet_ranges['D18'].value) 
3 

完全为我工作!

Σ8•d

相关问题