2017-04-26 53 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

相關問題