部分中国天气网城市代码(txt文件):
第一种方法:
写入csv文件效果:
代码:
import pandas as pd
data = open(r'text\中国天气网城市代码.txt')
res = []
for i in data:
d = [x for x in i.strip().split('=')]
res.append(d)
save = pd.DataFrame(columns=['城市代码','城市名称'], index = None, data=list(res)) #columns列名,index索引名,data数据
# print(save)
fh = open(r'text\中国天气网城市代码.csv','w+')
save.to_csv(fh)
fh.close()
第二种方法:
第一次写入效果(中间每隔一行会空一行):
第一次代码:
import csv
fh = open(r'text\中国天气网城市代码.csv',"w+")
writer = csv.writer(fh)
writer.writerow(["城市代码","城市名称"])
data = open(r'text\中国天气网城市代码.txt')
res = []
for i in data:
d = [x for x in i.strip().split('=')]
# print(d)
res.append(d)
print(res)
writer.writerows(res)
data.close()
fh.close()
更改方法:
在open函数加上参数newline="即可。
对newline参数的解释:
newline:换行控制,参数有:None,’\n’,’\r’,’\r\n’。
输入时,如果参数为None,那么行结束的标志可以是:’\n’,’\r’,’\r\n’任意一个,并且三个控制符都首先会被转化为:’\n’,然后才会被调用;
如果参数为’’,所有的通用的换行结束标志都可以用,但是行结束标识符返回调用不会被编码。
输出时,如果参数为None,那么行结束的标志可以是:’\n’被转换为系统默认的分隔符;如果是’’,’\n’则不会被编码。
更改后写入效果:
完整代码:
import csv
fh = open(r'text\中国天气网城市代码.csv',"w+",newline='')
writer = csv.writer(fh)
writer.writerow(["城市代码","城市名称"])
data = open(r'text\中国天气网城市代码.txt')
res = []
for i in data:
d = [x for x in i.strip().split('=')]
res.append(d)
print(res)
writer.writerows(res)
data.close()
fh.close()