2016-09-29 5 views
0
#!/usr/bin/python3.4 

import urllib.request 
import os 
import re 

os.chdir('/home/whatever/') 
a = open('Shopstxt.csv','r') 
b = a.readlines() 
a.close() 
c = len(b) 
d = list(zip(*(e.split(';') for e in b))) 

shopname = [] 
shopaddress = [] 
shopcity = [] 
shopphone = [] 
shopwebsite = [] 
f = d[0] 
g = d[1] 
h = d[2] 
i = d[3] 
j = d[4] 
e = -1 

for n in range(0, 5): 
    e = e + 1 
    sn = f[n] 
    sn.title() 
    print(sn) 
    shopname.append(sn) 
    sa = g[n] 
    sa.title() 
    shopaddress.append(sa) 
    sc = h[n] 
    sc.title() 
    shopcity.append(sc) 

Shopstxt.csvは大文字で、タイトルに変換したいです。私はこれがそれをすると思ったが、そうではない。私は間違って何をしていますか?ALL大文字をタイトルに変換する

ファイルを元に戻したい場合もあります。ちょうど同様に素早くいくつかの事をチェックしたいと思っています...時間が押されました。

ファイルをまとめて結合すると、ドライブに書き戻す前に、各行の末尾に '\ n'を追加する必要がありますか、各行を書き込むときに自動的に '\ n'が含まれますファイルに?

答えて

0

文字列は不変ですので、あなたはtitle()の結果をasignする必要があります。また

sa = sa.title() 
sc = sc.title() 

、あなたがこれを行う場合:

with open("bla.txt", "wt") as outfile: 
    outfile.write("stuff") 
    outfile.write("more stuff") 

が、これはないは自動的に改行コードを追加します。

行末を追加する簡単な方法は、これを次のようになります。

textblobb = "\n".join(list_of_text_lines) 
with open("bla.txt", "wt") as outfile: 
    outfile.write(textblobb) 

は限り textblobbが非効率的に大規模なものではなく、メモリに収まるように、それはうまくトリックを行う必要があります。

0

以下のコードのように変数を定義するときは、.title()メソッドを使用してください。他の人が触れたように、文字列は不変なので、ステップを省き、必要な文字列を1行に作成します。

for n in range(0, 5): 
    e = e + 1 
    sn = f[n].title() ### Grab and modify the list index before assigning to your variable 
    print(sn) 
    shopname.append(sn) 
    sa = g[n].title() ### 
    shopaddress.append(sa) 
    sc = h[n].title() ### 
    shopcity.append(sc) 
関連する問題