我有以下文件:
01/03/2019,23,24.0
01/03/2019,22,24.5
01/03/2019,21,25.9
01/03/2019,20,26.4
01/03/2019,19,26.6
01/03/2019,18,25.9
其中第 1 列是日期 (dd/mm/yyyy),第 2 列是小时,第 3 列是温度。
如何使用 pyhton 合并第 1 列和第 2 列以创建新列 dd/mm/yyyy hh:00?
我正在使用 .csv 文件和 pandas 模块。
我有以下文件:
01/03/2019,23,24.0
01/03/2019,22,24.5
01/03/2019,21,25.9
01/03/2019,20,26.4
01/03/2019,19,26.6
01/03/2019,18,25.9
其中第 1 列是日期 (dd/mm/yyyy),第 2 列是小时,第 3 列是温度。
如何使用 pyhton 合并第 1 列和第 2 列以创建新列 dd/mm/yyyy hh:00?
我正在使用 .csv 文件和 pandas 模块。
使用 csv OR pandas 库(使用 python 3.7 测试)
import csv
import pandas as pd
use_pandas = True
if use_pandas:
df = pd.read_csv('55089401.csv', header=None)
df[3] = df[0].map(str) + ' ' + df[1].map(str) + ':00'
del df[0]
del df[1]
new_order = [1, 0]
df = df[df.columns[new_order]]
print(df)
else:
out_data = []
with open('55089401.csv', 'r') as f_in:
reader = csv.reader(f_in)
for row in reader:
out_data.append(['{} {}:00'.format(row[0], row[1]), row[2]])
with open('55089401_out.csv', 'w', newline='') as f_out:
writer = csv.writer(f_out)
writer.writerows(out_data)
熊猫输出
0 01/03/2019 23:00 24.0
1 01/03/2019 22:00 24.5
2 01/03/2019 21:00 25.9
3 01/03/2019 20:00 26.4
4 01/03/2019 19:00 26.6
5 01/03/2019 18:00 25.9
输入文件
01/03/2019,23,24.0
01/03/2019,22,24.5
01/03/2019,21,25.9
01/03/2019,20,26.4
01/03/2019,19,26.6
01/03/2019,18,25.9
输出文件 (csv)
01/03/2019 23:00,24.0
01/03/2019 22:00,24.5
01/03/2019 21:00,25.9
01/03/2019 20:00,26.4
01/03/2019 19:00,26.6
01/03/2019 18:00,25.9
遍历输入文件中的行,并使用附加列输出
with open('filename.csv') as fin:
for inputLine in fin:
x = inputLine.split(',')
outputLine = inputLine + ',' + str(x[0]) + ' ' + str(x[1]) + ':00'