python将txt文件内容写入csv文件

部分中国天气网城市代码(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()

猜你喜欢

转载自blog.csdn.net/qq_42591058/article/details/89059771